Manages and monitors asynchronous Meilisearch tasks.
Summary
Functions
Cancels one or more tasks based on filters.
Cancels tasks, raising on error.
Deletes one or more finished tasks based on filters.
Deletes finished tasks, raising on error.
Retrieves details of a single task.
Retrieves details of a single task, raising on error.
Lists all tasks.
Lists all tasks, raising on error.
Waits for a task to succeed or fail.
Waits for a task to succeed or fail, raising a Meili.Error on failure or timeout.
Functions
Cancels one or more tasks based on filters.
Examples
Meili.Task.cancel(statuses: [:enqueued, :processing])
Meili.Task.cancel(client, index_uids: ["movies"])
Cancels tasks, raising on error.
Deletes one or more finished tasks based on filters.
Examples
Meili.Task.delete(statuses: [:succeeded, :failed])
Meili.Task.delete(client, uids: [1, 2, 3])
Deletes finished tasks, raising on error.
Retrieves details of a single task.
Examples
Meili.Task.get(12)
Meili.Task.get(client, 12)
Retrieves details of a single task, raising on error.
Lists all tasks.
Supports options for filtering and pagination. List values are automatically joined as comma-separated strings.
Options
limit: Max tasks to return.from: Start task uid.uids: List or comma-separated string of task uids.statuses: List or comma-separated string of statuses.types: List or comma-separated string of types.index_uids/indexUids: List or comma-separated string of index uids.
Examples
Meili.Task.list(statuses: [:succeeded, :failed])
Meili.Task.list(client, limit: 10)
Lists all tasks, raising on error.
Waits for a task to succeed or fail.
Options
timeout: Maximum time in milliseconds to wait (default:5000).interval: Milliseconds to sleep between polls (default:50).
Examples
{:ok, task} = Meili.Task.wait_for_task(12)
{:ok, task} = Meili.Task.wait_for_task(client, 12, timeout: 10_000)
Waits for a task to succeed or fail, raising a Meili.Error on failure or timeout.
If the task completes but has a status of "failed", it raises a Meili.Error
constructed from the task's inner error.
Examples
task = Meili.Task.wait_for_task!(12)
task = Meili.Task.wait_for_task!(client, 12, timeout: 10_000)