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.
name / function / schedulestr / Function / strIdentity, callback, and five-field cron expression.
RequiredtimezonestrSchedule timezone.
Default:UTCenabledboolEnable schedule startup.
Default:Trueoverlap_policyScheduleOverlapPolicyBehavior when the prior run is active.
Default:Skipmissed_run_policyScheduleMissedRunPolicyBehavior after a missed fire time.
Default:SkipTemporalConnector.activity() properties
Temporal Activity endpoint.
task_queuestrActivity worker queue.
Requiredmax_concurrent_activitiesintWorker Activity capacity.
Requiredactivity_start_to_close_timeoutintActivity execution timeout in milliseconds.
Requiredactivity_heartbeat_timeoutint | NoneHeartbeat timeout in milliseconds.
Default:Nonemaximum_attemptsintRetry attempts.
Default:1TemporalConnector.workflow() properties
Temporal Workflow endpoint.
task_queuestrWorkflow worker queue.
Requiredmax_concurrent_workflow_tasksintWorkflow task capacity.
Requiredworkflow_execution_timeoutint | NoneWhole Workflow execution timeout.
Default:Nonemaximum_attemptsintWorkflow start retry attempts.
Default:1Shared Temporal options properties
Optional namespace schedule configuration.
schedule / schedule_idstr | NoneFive-field cron and stable Temporal Schedule ID.
Default:Nonetimezonestr | NoneSchedule timezone.
Default:Noneoverlap_policy / missed_run_policyenum | NoneDurable overlap and catch-up behavior.
Default:Noneenabled / tracing_enabledbool / bool | NoneRuntime admission and tracing.
Default:True / NonePython 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",
)