Miosa.CronJobs (Miosa v1.0.0)

Copy Markdown View Source

Cron jobs — scheduled work with full CRUD, pause/resume, run-now, and execution history.

Mutating calls (create, update, pause, resume, run_now) send an Idempotency-Key header automatically.

Example

client = Miosa.client(System.fetch_env!("MIOSA_API_KEY"))

{:ok, job} = Miosa.CronJobs.create(client, %{
  name: "nightly-report",
  schedule: "0 4 * * *",
  url: "https://api.example.com/reports"
})

{:ok, _} = Miosa.CronJobs.run_now(client, job["id"])
{:ok, history} = Miosa.CronJobs.list_executions(client, job["id"])

Summary

Functions

Create a cron job.

Delete a cron job by ID.

Fetch a cron job by ID.

Get a specific execution record for a cron job.

List cron jobs for the authenticated tenant.

List execution history for a cron job.

Pause a cron job (stops future scheduled runs).

Resume a paused cron job.

Trigger an immediate execution of a cron job outside its schedule.

Update a cron job.

Functions

create(client, attrs)

@spec create(Miosa.Client.t(), map()) :: Miosa.Client.result(map())

Create a cron job.

Required: :name, :schedule (cron expression e.g. "0 4 * * *"). Optional: :url, :payload, :timezone, :enabled, :idempotency_key.

delete(client, job_id)

@spec delete(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Delete a cron job by ID.

get(client, job_id)

Fetch a cron job by ID.

get_execution(client, job_id, execution_id)

@spec get_execution(Miosa.Client.t(), String.t(), String.t()) ::
  Miosa.Client.result(map())

Get a specific execution record for a cron job.

list(client, filters \\ [])

@spec list(Miosa.Client.t(), keyword() | map()) :: Miosa.Client.result(map())

List cron jobs for the authenticated tenant.

Accepts optional filters as a keyword list or map (e.g. :limit, :cursor).

list_executions(client, job_id, filters \\ [])

@spec list_executions(Miosa.Client.t(), String.t(), keyword() | map()) ::
  Miosa.Client.result(map())

List execution history for a cron job.

pause(client, job_id)

Pause a cron job (stops future scheduled runs).

resume(client, job_id)

@spec resume(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Resume a paused cron job.

run_now(client, job_id)

@spec run_now(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Trigger an immediate execution of a cron job outside its schedule.

update(client, job_id, attrs)

@spec update(Miosa.Client.t(), String.t(), map()) :: Miosa.Client.result(map())

Update a cron job.

Pass any fields to update; nil values are dropped.