pyncette.task module

class pyncette.task.PartitionedTask(*, partition_count: int, partition_selector: PartitionSelector = <function _default_partition_selector>, enabled_partitions: list[int] | None = None, **kwargs)[source]

Bases: pyncette.task.Task

get_partitions() → list[source]
instantiate(name: str, **kwargs) → pyncette.task.Task[source]

Creates a concrete instance of a dynamic task

class pyncette.task.Task(*, name: str, func: TaskFunc, enabled: bool = True, dynamic: bool = False, parent_task: Task | None = None, schedule: str | None = None, interval: datetime.timedelta | None = None, execute_at: datetime.datetime | None = None, timezone: str | None = None, fast_forward: bool = False, failure_mode: FailureMode = <FailureMode.NONE: 0>, execution_mode: ExecutionMode = <ExecutionMode.AT_LEAST_ONCE: 0>, lease_duration: datetime.timedelta = datetime.timedelta(seconds=60), **kwargs)[source]

Bases: object

The base unit of execution

as_spec() → dict[source]

Serializes all the attributes to task spec

canonical_name

A unique identifier for a task instance

enabled
get_next_execution(utc_now: datetime.datetime, last_execution: datetime.datetime | None) → datetime.datetime | None[source]
instantiate(name: str, **kwargs) → pyncette.task.Task[source]

Creates a concrete instance of a dynamic task

instantiate_from_spec(task_spec: dict) → pyncette.task.Task[source]

Deserializes all the attributes from task spec