Queue client signatures
The queue client signatures the Python SDK declares, straight from its own declarations.
The queue client signatures the Python SDK declares, straight from its own declarations.
Signatures, parameters, defaults and return types come straight from the declarations, so they cannot drift from the code. Prose, examples and gotchas live on the hand-written pages this section sits beside.
Generated from sdks/python/flexiq/_flexiq.pyi.
PyQueue()PyQueue(
db_path: str = ".flexiq/flexiq.db",
workers: int = 0,
default_retry: int = 3,
default_timeout: int = 300,
default_priority: int = 0,
result_ttl: int | None = None,
backend: str = "sqlite",
db_url: str | None = None,
schema: str = "flexiq",
pool_size: int | None = None,
scheduler_poll_interval_ms: int = 50,
scheduler_reap_interval: int = 100,
scheduler_cleanup_interval: int = 1200,
scheduler_batch_size: int | None = None,
namespace: str | None = None,
push_dispatch: bool | None = None,
dlq_auto_retry_delay: int | None = None,
dlq_auto_retry_max: int = 1,
retention: dict[str, int] | None = None,
auto_migrate: bool = True,
event_sinks: str | None = None,
event_sinks_drain: float = 5.0
)queue.ack_message()queue.ack_message(
topic: str,
subscription_name: str,
message_id: str
) -> boolqueue.ack_topic_cursor()queue.ack_topic_cursor(
topic: str,
subscription_name: str,
cursor: str
) -> boolqueue.acquire_lock()queue.acquire_lock(
lock_name: str,
owner_id: str,
ttl_ms: int = 30000
) -> boolqueue.archive_old_jobs()queue.archive_old_jobs(older_than_seconds: int) -> intqueue.begin_run()queue.begin_run() -> Nonequeue.cancel_job()queue.cancel_job(job_id: str) -> boolqueue.cancel_workflow_run()queue.cancel_workflow_run(run_id: str) -> Nonequeue.check_fan_out_completion()queue.check_fan_out_completion(
run_id: str,
parent_node_name: str
) -> tuple[bool, list[str]] | Nonequeue.close_dashboard_audit()queue.close_dashboard_audit() -> Nonequeue.count_pending_by_queue()queue.count_pending_by_queue(queue_name: str) -> intqueue.create_deferred_job()queue.create_deferred_job(
run_id: str,
node_name: str,
payload: bytes,
task_name: str,
queue: str,
max_retries: int,
timeout_ms: int,
priority: int
) -> strqueue.dead_letters()queue.dead_letters(
limit: int = 10,
offset: int = 0
) -> list[dict[str, Any]]queue.dead_letters_after()queue.dead_letters_after(
limit: int = 10,
after: str | None = None
) -> tuple[list[dict[str, Any]], str | None]queue.dead_letters_by_task()queue.dead_letters_by_task(
task_name: str,
limit: int = 10,
offset: int = 0
) -> list[dict[str, Any]]queue.declare_topic()queue.declare_topic(
name: str,
mode: str,
retention_ms: int | None = None
) -> Nonequeue.delete_dead()queue.delete_dead(dead_id: str) -> boolqueue.delete_periodic()queue.delete_periodic(name: str) -> boolqueue.delete_setting()queue.delete_setting(key: str) -> boolqueue.dry_run_retention()queue.dry_run_retention(retention: dict[str, int] | None = None) -> strqueue.effective_retention()queue.effective_retention() -> str | Nonequeue.end_run()queue.end_run() -> Nonequeue.enqueue()queue.enqueue(
task_name: str,
payload: bytes,
queue: str = "default",
priority: int | None = None,
delay_seconds: float | None = None,
max_retries: int | None = None,
timeout: int | None = None,
unique_key: str | None = None,
metadata: str | None = None,
notes: str | None = None,
depends_on: list[str] | None = None,
expires: float | None = None,
result_ttl: int | None = None,
debounce_key: str | None = None,
debounce_window_ms: int | None = None,
debounce_max_wait_ms: int | None = None,
debounce_replace_payload: bool = False,
debounce_max_pending: int | None = None
) -> PyJobqueue.enqueue_batch()queue.enqueue_batch(
task_names: list[str],
payloads: list[bytes],
queues: list[str] | None = None,
priorities: list[int | None] | None = None,
max_retries_list: list[int | None] | None = None,
timeouts: list[int | None] | None = None,
delay_seconds_list: list[float | None] | None = None,
unique_keys: list[str | None] | None = None,
metadata_list: list[str | None] | None = None,
notes_list: list[str | None] | None = None,
expires_list: list[float | None] | None = None,
result_ttl_list: list[int | None] | None = None
) -> list[PyJob]queue.event_sink_stats()queue.event_sink_stats() -> list[dict[str, Any]]queue.expand_fan_out()queue.expand_fan_out(
run_id: str,
parent_node_name: str,
child_names: list[str],
child_payloads: list[bytes],
task_name: str,
queue: str,
max_retries: int,
timeout_ms: int,
priority: int
) -> list[str]queue.extend_lock()queue.extend_lock(
lock_name: str,
owner_id: str,
ttl_ms: int = 30000
) -> boolqueue.fail_workflow_node()queue.fail_workflow_node(
run_id: str,
node_name: str,
error: str
) -> Nonequeue.finalize_run_if_terminal()queue.finalize_run_if_terminal(run_id: str) -> str | Nonequeue.get_base_run_node_data()queue.get_base_run_node_data(
base_run_id: str
) -> list[tuple[str, str, str | None]]queue.get_child_workflow_runs()queue.get_child_workflow_runs(parent_run_id: str) -> list[PyWorkflowRun]queue.get_dependencies()queue.get_dependencies(job_id: str) -> list[str]queue.get_dependents()queue.get_dependents(job_id: str) -> list[str]queue.get_job()queue.get_job(job_id: str) -> PyJob | Nonequeue.get_job_errors()queue.get_job_errors(job_id: str) -> list[dict[str, Any]]queue.get_lock_info()queue.get_lock_info(lock_name: str) -> dict[str, Any] | Nonequeue.get_metrics()queue.get_metrics(
task_name: str | None = None,
since_seconds: int = 3600
) -> list[dict[str, Any]]queue.get_replay_history()queue.get_replay_history(job_id: str) -> list[dict[str, Any]]queue.get_setting()queue.get_setting(key: str) -> str | Nonequeue.get_task_logs()queue.get_task_logs(job_id: str) -> list[dict[str, Any]]queue.get_workflow_definition_dag()queue.get_workflow_definition_dag(run_id: str) -> bytesqueue.get_workflow_run_detail()queue.get_workflow_run_detail(
run_id: str
) -> tuple[PyWorkflowRun, list[PyWorkflowRunNode]]queue.get_workflow_run_status()queue.get_workflow_run_status(run_id: str) -> PyWorkflowRunStatusqueue.get_workflow_trace_carrier()queue.get_workflow_trace_carrier(run_id: str) -> dict[str, str]queue.inherited_worker_steps()queue.inherited_worker_steps() -> WorkerSteps | Nonequeue.is_cancel_requested()queue.is_cancel_requested(job_id: str) -> boolqueue.is_migrated()queue.is_migrated() -> boolqueue.lease_topic_messages()queue.lease_topic_messages(
topic: str,
subscription_name: str,
limit: int,
visibility_ms: int
) -> list[tuple[str, bytes, str | None, str | None, int]]queue.list_archived()queue.list_archived(limit: int = 50, offset: int = 0) -> list[PyJob]queue.list_archived_after()queue.list_archived_after(
limit: int = 50,
after: str | None = None
) -> tuple[list[PyJob], str | None]queue.list_circuit_breakers()queue.list_circuit_breakers() -> list[dict[str, Any]]queue.list_declared_topics()queue.list_declared_topics() -> list[tuple[str, str, int | None, int]]queue.list_jobs()queue.list_jobs(
status: str | None = None,
queue: str | None = None,
task_name: str | None = None,
limit: int = 50,
offset: int = 0,
namespace: str | None = None
) -> list[PyJob]queue.list_jobs_after()queue.list_jobs_after(
status: str | None = None,
queue: str | None = None,
task_name: str | None = None,
limit: int = 50,
after: str | None = None,
namespace: str | None = None
) -> tuple[list[PyJob], str | None]queue.list_jobs_filtered()queue.list_jobs_filtered(
status: str | None = None,
queue: str | None = None,
task_name: str | None = None,
metadata_like: str | None = None,
error_like: str | None = None,
created_after: int | None = None,
created_before: int | None = None,
limit: int = 50,
offset: int = 0,
namespace: str | None = None
) -> list[PyJob]queue.list_jobs_filtered_after()queue.list_jobs_filtered_after(
status: str | None = None,
queue: str | None = None,
task_name: str | None = None,
metadata_like: str | None = None,
error_like: str | None = None,
created_after: int | None = None,
created_before: int | None = None,
limit: int = 50,
after: str | None = None,
namespace: str | None = None
) -> tuple[list[PyJob], str | None]queue.list_paused_queues()queue.list_paused_queues() -> list[str]queue.list_periodic()queue.list_periodic() -> list[dict[str, Any]]queue.list_settings()queue.list_settings() -> dict[str, str]queue.list_subscriptions()queue.list_subscriptions(
topic: str | None = None
) -> list[tuple[str, str, str, str, bool, bool]]queue.list_workers()queue.list_workers() -> list[dict[str, Any]]queue.list_workflow_runs()queue.list_workflow_runs(
definition_name: str | None = None,
state: str | None = None,
limit: int = 50,
offset: int = 0
) -> list[PyWorkflowRun]queue.list_workflow_runs_after()queue.list_workflow_runs_after(
definition_name: str | None = None,
state: str | None = None,
limit: int = 50,
after: str | None = None
) -> tuple[list[PyWorkflowRun], str | None]queue.mark_workflow_node_result()queue.mark_workflow_node_result(
job_id: str,
succeeded: bool,
error: str | None = None,
skip_cascade: bool = False,
result_hash: str | None = None
) -> tuple[str, str, str | None] | Nonequeue.migrate()queue.migrate() -> dict[str, Any]queue.min_contract()queue.min_contract() -> intqueue.nack_message()queue.nack_message(
topic: str,
subscription_name: str,
message_id: str
) -> boolqueue.pause_periodic()queue.pause_periodic(name: str) -> boolqueue.pause_queue()queue.pause_queue(queue_name: str) -> Nonequeue.publish()queue.publish(
topic: str,
payload: bytes,
idempotency_key: str | None = None,
metadata: str | None = None,
notes: str | None = None,
priority: int | None = None,
delay_seconds: float | None = None,
max_retries: int | None = None,
timeout: int | None = None,
expires: float | None = None,
result_ttl: int | None = None
) -> list[PyJob]queue.purge_completed()queue.purge_completed(older_than_seconds: int) -> intqueue.purge_dead()queue.purge_dead(older_than_seconds: int) -> intqueue.purge_dead_by_task()queue.purge_dead_by_task(task_name: str) -> intqueue.purge_queue()queue.purge_queue(queue_name: str) -> intqueue.query_task_logs()queue.query_task_logs(
task_name: str | None = None,
level: str | None = None,
since_seconds: int = 3600,
limit: int = 100
) -> list[dict[str, Any]]queue.read_topic_messages()queue.read_topic_messages(
topic: str,
subscription_name: str,
limit: int
) -> list[tuple[str, bytes, str | None, str | None, int]]queue.reap_ephemeral_subscriptions()queue.reap_ephemeral_subscriptions(worker_id: str | None = None) -> intqueue.record_dashboard_action()queue.record_dashboard_action(
method: str,
path: str,
status: int,
username: str | None = None
) -> Nonequeue.register_periodic()queue.register_periodic(
name: str,
task_name: str,
cron_expr: str,
args: bytes | None = None,
queue: str = "default",
timezone: str | None = None
) -> Nonequeue.register_subscription()queue.register_subscription(
topic: str,
subscription_name: str,
task_name: str,
queue: str = "default",
durable: bool = True,
owner_worker_id: str | None = None,
priority: int | None = None,
max_retries: int | None = None,
timeout_ms: int | None = None,
mode: str = "fanout"
) -> Nonequeue.release_lock()queue.release_lock(lock_name: str, owner_id: str) -> boolqueue.replay_job()queue.replay_job(job_id: str) -> strqueue.request_cancel()queue.request_cancel(job_id: str) -> boolqueue.request_shutdown()queue.request_shutdown() -> Nonequeue.request_worker_drain()queue.request_worker_drain(worker_id: str) -> boolqueue.requeue_job()queue.requeue_job(job_id: str) -> boolqueue.resolve_workflow_gate()queue.resolve_workflow_gate(
run_id: str,
node_name: str,
approved: bool,
error: str | None = None
) -> Nonequeue.resume_periodic()queue.resume_periodic(name: str) -> boolqueue.resume_queue()queue.resume_queue(queue_name: str) -> Nonequeue.retry_dead()queue.retry_dead(dead_id: str) -> strqueue.revoke_task()queue.revoke_task(task_name: str) -> intqueue.run_worker()queue.run_worker(
task_registry: dict[str, Any],
task_configs: list[PyTaskConfig],
queues: list[str] | None = None,
drain_timeout_secs: int | None = None,
tags: str | None = None,
worker_id: str | None = None,
resources: str | None = None,
threads: int = 1,
async_concurrency: int = 100,
queue_configs: str | None = None,
pool: str | None = None,
app_path: str | None = None,
mesh_config: str | None = None
) -> Nonequeue.set_min_contract()queue.set_min_contract(level: int) -> Nonequeue.set_setting()queue.set_setting(key: str, value: str) -> Nonequeue.set_setting_if()queue.set_setting_if(key: str, expected: str | None, value: str) -> boolqueue.set_subscription_active()queue.set_subscription_active(
topic: str,
subscription_name: str,
active: bool
) -> boolqueue.set_worker_status()queue.set_worker_status(worker_id: str, status: str) -> Nonequeue.set_workflow_node_compensated()queue.set_workflow_node_compensated(
run_id: str,
node_name: str,
completed_at: int
) -> Nonequeue.set_workflow_node_compensation_failed()queue.set_workflow_node_compensation_failed(
run_id: str,
node_name: str,
error: str,
completed_at: int
) -> Nonequeue.set_workflow_node_compensation_job()queue.set_workflow_node_compensation_job(
run_id: str,
node_name: str,
compensation_job_id: str,
started_at: int
) -> Nonequeue.set_workflow_node_fan_out_count()queue.set_workflow_node_fan_out_count(
run_id: str,
node_name: str,
count: int
) -> Nonequeue.set_workflow_node_running()queue.set_workflow_node_running(run_id: str, node_name: str) -> Nonequeue.set_workflow_node_waiting_approval()queue.set_workflow_node_waiting_approval(
run_id: str,
node_name: str
) -> Nonequeue.set_workflow_run_compensated()queue.set_workflow_run_compensated(
run_id: str,
completed_at: int
) -> Nonequeue.set_workflow_run_compensating()queue.set_workflow_run_compensating(run_id: str) -> Nonequeue.set_workflow_run_compensation_failed()queue.set_workflow_run_compensation_failed(
run_id: str,
completed_at: int,
error: str | None = None
) -> Nonequeue.set_workflow_run_completed_with_failures()queue.set_workflow_run_completed_with_failures(run_id: str) -> Nonequeue.skip_workflow_node()queue.skip_workflow_node(run_id: str, node_name: str) -> Nonequeue.start_dashboard_audit()queue.start_dashboard_audit(retention_days: int) -> Nonequeue.stats()queue.stats() -> dict[str, int]queue.stats_all_queues()queue.stats_all_queues() -> dict[str, dict[str, int]]queue.stats_by_queue()queue.stats_by_queue(queue_name: str) -> dict[str, int]queue.submit_workflow()queue.submit_workflow(
name: str,
version: int,
dag_bytes: bytes,
step_metadata_json: str,
node_payloads: dict[str, bytes],
queue_default: str = "default",
params_json: str | None = None,
deferred_node_names: list[str] | None = None,
parent_run_id: str | None = None,
parent_node_name: str | None = None,
cache_hit_nodes: dict[str, str] | None = None,
traceparent: str | None = None,
tracestate: str | None = None
) -> PyWorkflowHandlequeue.supports_steps()queue.supports_steps() -> boolqueue.topic_backlog_stats()queue.topic_backlog_stats() -> list[tuple[str, str, str, str, bool, bool, int, int, int, int | None]]queue.topic_log_stats()queue.topic_log_stats() -> list[tuple[str, str, str | None, int, int | None]]queue.unsubscribe()queue.unsubscribe(topic: str, subscription_name: str) -> boolqueue.update_progress()queue.update_progress(job_id: str, progress: int) -> Nonequeue.worker_heartbeat()queue.worker_heartbeat(
worker_id: str,
resource_health: str | None = None
) -> list[str]queue.write_task_log()queue.write_task_log(
job_id: str,
task_name: str,
level: str,
message: str,
extra: str | None = None
) -> None