A single unit of work.
| Name | Type | Description | Notes |
|---|---|---|---|
| completed_at | datetime | [optional] | |
| config | JobConfig | ||
| created_at | datetime | ||
| delivery_count | int | How many times this job has been claimed (delivered to a worker). Greater than `retry_count + 1` means a lease expired without a report — i.e. a worker crashed mid-run. | [optional] |
| error_message | str | [optional] | |
| id | str | ||
| idempotency_key | str | Client-supplied key that makes job creation idempotent per tenant: re-submitting the same key returns the original job instead of creating a duplicate. | [optional] |
| metadata | Dict[str, object] | [optional] | |
| next_retry_at | datetime | When this job's next retry becomes claimable (mirrors `scheduled_at` while the job is `retrying`; kept for audit/inspection). | [optional] |
| payload | Dict[str, object] | [optional] | |
| queue_name | str | ||
| result | Dict[str, object] | [optional] | |
| retry_count | int | ||
| scheduled_at | datetime | When the job becomes claimable. `created_at` for immediate jobs, the requested `run_at` for scheduled jobs, and the next backoff instant while retrying — the durable delay lives in the row itself. | |
| started_at | datetime | [optional] | |
| status | JobStatus | ||
| task_name | str | ||
| tenant_id | str | [optional] | |
| workflow_id | str | [optional] | |
| workflow_step_id | str | The owning workflow step's name (steps are addressed by name). | [optional] |
from queueflow.models.job import Job
# TODO update the JSON string below
json = "{}"
# create an instance of Job from a JSON string
job_instance = Job.from_json(json)
# print the JSON string representation of the object
print(Job.to_json())
# convert the object into a dict
job_dict = job_instance.to_dict()
# create an instance of Job from a dict
job_from_dict = Job.from_dict(job_dict)