SAService Architect Back to designer
SAService ArchitectDocumentation
Python API reference schedule() | activity() | workflow()

Cron and Temporal endpoints

Create local Cron callbacks and Temporal Activity or Workflow endpoints with typed scheduling and timeout options.

When to use

Use Cron for local process schedules and Temporal for durable Activities, Workflows, and namespace schedules.

Behavior

  • Cron schedule requires a five-field expression and defaults to UTC.
  • Temporal Activity and Workflow endpoints can be on-demand with empty schedule fields.
  • Scheduled Temporal endpoints use both schedule and stable schedule_id.

CronConnector.schedule() properties

Local scheduler endpoint.

PropertyTypeDescription
name / function / schedulestr / Function / str

Identity, callback, and five-field cron expression.

Required
timezonestr

Schedule timezone.

Default: UTC
enabledbool

Enable schedule startup.

Default: True
overlap_policyScheduleOverlapPolicy

Behavior when the prior run is active.

Default: Skip
missed_run_policyScheduleMissedRunPolicy

Behavior after a missed fire time.

Default: Skip

TemporalConnector.activity() properties

Temporal Activity endpoint.

PropertyTypeDescription
task_queuestr

Activity worker queue.

Required
max_concurrent_activitiesint

Worker Activity capacity.

Required
activity_start_to_close_timeoutint

Activity execution timeout in milliseconds.

Required
activity_heartbeat_timeoutint | None

Heartbeat timeout in milliseconds.

Default: None
maximum_attemptsint

Retry attempts.

Default: 1

TemporalConnector.workflow() properties

Temporal Workflow endpoint.

PropertyTypeDescription
task_queuestr

Workflow worker queue.

Required
max_concurrent_workflow_tasksint

Workflow task capacity.

Required
workflow_execution_timeoutint | None

Whole Workflow execution timeout.

Default: None
maximum_attemptsint

Workflow start retry attempts.

Default: 1

Shared Temporal options properties

Optional namespace schedule configuration.

PropertyTypeDescription
schedule / schedule_idstr | None

Five-field cron and stable Temporal Schedule ID.

Default: None
timezonestr | None

Schedule timezone.

Default: None
overlap_policy / missed_run_policyenum | None

Durable overlap and catch-up behavior.

Default: None
enabled / tracing_enabledbool / bool | None

Runtime admission and tracing.

Default: True / None

Python example

activity = temporal.activity(
    "Process Order Activity",
    function=Function(name="ProcessOrderActivity", module=LOCAL_MODULE),
    task_queue="orders-activities",
    max_concurrent_activities=32,
    activity_start_to_close_timeout=60_000,
    activity_heartbeat_timeout=10_000,
)
workflow = temporal.workflow(
    "Daily Orders Workflow",
    function=Function(name="DailyOrdersWorkflow", module=LOCAL_MODULE),
    task_queue="orders-workflows",
    max_concurrent_workflow_tasks=16,
    schedule="0 9 * * 1-5",
    schedule_id="daily-orders-workflow",
    timezone="UTC",
)