ExDaytona.Api.Jobs (ex_daytona v0.2.0)

Copy Markdown View Source

API calls for all endpoints tagged Jobs.

Summary

Functions

List jobs for the runner Returns a paginated list of jobs for the runner, optionally filtered by status.

Long poll for jobs Long poll endpoint for runners to fetch pending jobs. Returns immediately if jobs are available, otherwise waits up to timeout seconds.

Functions

get_job(connection, job_id, opts \\ [])

@spec get_job(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, ExDaytona.Model.Job.t()} | {:error, Tesla.Env.t()}

Get job details

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • job_id (String.t): ID of the job
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExDaytona.Model.Job.t} on success
  • {:error, Tesla.Env.t} on failure

list_jobs(connection, opts \\ [])

@spec list_jobs(
  Tesla.Env.client(),
  keyword()
) :: {:ok, ExDaytona.Model.PaginatedJobs.t()} | {:error, Tesla.Env.t()}

List jobs for the runner Returns a paginated list of jobs for the runner, optionally filtered by status.

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :page (number()): Page number of the results
    • :limit (number()): Maximum number of jobs to return (default: 100, max: 500)
    • :status (JobStatus): Filter jobs by status
    • :offset (number()): Number of jobs to skip for pagination (default: 0)

Returns

  • {:ok, ExDaytona.Model.PaginatedJobs.t} on success
  • {:error, Tesla.Env.t} on failure

poll_jobs(connection, opts \\ [])

@spec poll_jobs(
  Tesla.Env.client(),
  keyword()
) :: {:ok, ExDaytona.Model.PollJobsResponse.t()} | {:error, Tesla.Env.t()}

Long poll for jobs Long poll endpoint for runners to fetch pending jobs. Returns immediately if jobs are available, otherwise waits up to timeout seconds.

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :timeout (number()): Timeout in seconds for long polling (default: 30, max: 60)
    • :limit (number()): Maximum number of jobs to return (default: 10, max: 100)

Returns

  • {:ok, ExDaytona.Model.PollJobsResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_job_status(connection, job_id, update_job_status, opts \\ [])

@spec update_job_status(
  Tesla.Env.client(),
  String.t(),
  ExDaytona.Model.UpdateJobStatus.t(),
  keyword()
) ::
  {:ok, ExDaytona.Model.Job.t()} | {:error, Tesla.Env.t()}

Update job status

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • job_id (String.t): ID of the job
  • update_job_status (UpdateJobStatus):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExDaytona.Model.Job.t} on success
  • {:error, Tesla.Env.t} on failure