View Source Meilisearch.Task (meilisearch_ex v1.0.0)

Manipulate Meilisearch tasks. Task API

Link to this section Summary

Functions

Cancel tasks of your Meilsiearch instance. meili doc

Delete tasks of your Meilsiearch instance. meili doc

Get an Task of your Meilsiearch instance. meili doc

List tasks of your Meilsiearch instance. meili doc

Link to this section Types

@type t() :: %Meilisearch.Task{
  __meta__: Ecto.Schema.Metadata.t(),
  canceledBy: integer() | nil,
  details: map() | nil,
  duration: String.t(),
  enqueuedAt: DateTime.t(),
  error: Meilisearch.Error.t(),
  finishedAt: DateTime.t(),
  indexUid: String.t() | nil,
  startedAt: DateTime.t(),
  status: :enqueued | :processing | :succeeded | :failed | :canceled,
  type:
    :indexCreation
    | :indexUpdate
    | :indexDeletion
    | :indexSwap
    | :documentAdditionOrUpdate
    | :documentDeletion
    | :settingsUpdate
    | :dumpCreation
    | :taskCancelation
    | :taskDeletion
    | :snapshotCreation,
  uid: integer()
}

Link to this section Functions

Link to this function

cancel(client, opts \\ [])

View Source
@spec cancel(Tesla.Client.t(),
  uids: String.t(),
  statuses: String.t(),
  types: String.t(),
  indexUids: String.t(),
  beforeEnqueuedAt: String.t(),
  beforeStartedAt: String.t(),
  beforeFinishedAt: String.t(),
  afterEnqueuedAt: String.t(),
  afterStartedAt: String.t(),
  afterFinishedAt: String.t()
) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Cancel tasks of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Task.cancel(client, uids: "1,2")
{:ok, %{
  taskUid: 0,
  indexUid: nil,
  status: :enqueued,
  type: :taskCancelation,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}
Link to this function

delete(client, opts \\ [])

View Source
@spec delete(Tesla.Client.t(),
  uids: String.t(),
  statuses: String.t(),
  types: String.t(),
  indexUids: String.t(),
  canceledBy: String.t(),
  beforeEnqueuedAt: String.t(),
  beforeStartedAt: String.t(),
  beforeFinishedAt: String.t(),
  afterEnqueuedAt: String.t(),
  afterStartedAt: String.t(),
  afterFinishedAt: String.t()
) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Delete tasks of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Task.delete(client, uids: "1,2")
{:ok, %{
  taskUid: 0,
  indexUid: nil,
  status: :enqueued,
  type: :taskDeletion,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}
@spec get(Tesla.Client.t(), integer()) ::
  {:ok, t()} | {:error, Meilisearch.Client.error()}

Get an Task of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Task.get(client, 32)
{:ok, %{
  uid: 32,
  indexUid: "movies",
  status: :succeeded,
  type: :settingsUpdate,
  canceledBy: nil,
  details: %{
    "rankingRules" => [
      "typo",
      "ranking:desc",
      "words",
      "proximity",
      "attribute",
      "exactness"
    ]
  },
  error: null,
  duration: "PT1S",
  enqueuedAt: ~U[2021-08-12 10:00:00],
  startedAt: ~U[2021-08-12 10:00:01],
  finishedAt: ~U[2021-08-12 10:02:11]
}}
Link to this function

list(client, opts \\ [])

View Source
@spec list(Tesla.Client.t(),
  limit: integer(),
  from: integer(),
  uids: String.t(),
  statuses: String.t(),
  types: String.t(),
  indexUids: String.t(),
  canceledBy: String.t(),
  beforeEnqueuedAt: String.t(),
  beforeStartedAt: String.t(),
  beforeFinishedAt: String.t(),
  afterEnqueuedAt: String.t(),
  afterStartedAt: String.t(),
  afterFinishedAt: String.t()
) ::
  {:ok, Meilisearch.PaginatedTasks.t()} | {:error, Meilisearch.Client.error()}

List tasks of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Task.list(client, limit: 20, offset: 0)
{:ok, %{offset: 0, limit: 20, total: 1, results: [%{
  uid: "movies",
  primaryKey: "id",
  createdAt: ~U[2021-08-12 10:00:00],
  updatedAt: ~U[2021-08-12 10:00:00]
}]}}