Linker task

To make a linker task it needs to get list_id to link faces to and some face_ids. Optionally, it is possible to set create_list parameter to 1 to create a new list (a faces link target). It is possible to get faces using one of two ways: getting faces from Luna Faces or Luna Events [1]. Also, it needs account_id to create a task. If create_time_lt filter is not specified, it will be set to the current time.

Luna Faces

There are three filters to get faces from service. One can use them separately or together or do not use any filters (warning: it can be a very long task, depends on the count of faces in the database)

For detail see linker task

Task performance:

  • Firstly, it checks the existence of specified list_id; or if create_list parameter set to 1 - creates a new list with user_data if specified.

  • It gets face id boundaries (for Luna Faces) or events’ page numbers (for Luna Events). Then forms one or several subtasks with about 1000 face ids per each - depends on face id spreading.

  • For each subtask: it gets face ids (for events - [1]), specified for the current subtask by filters in the subtask content, and makes a request to the Luna Faces to link specified faces to the specified list. Each subtask saves its result to the Luna Image Store

  • After the last subtask is done, it collects results from all subtasks, merges and puts them to the Luna Image Store (as task result)