Skip to main content

Scheduled Jobs

The background jobs this installation declares, their schedules, which are switched off, and how to inspect and run them.

TL;DR: Jobs are declared in services/scheduler/config.yaml. Each entry names the job, the extension that defines it (core or web), an owner: (the user recorded as the actor in audit rows, admin here) and enabled. A schedule: in the file overrides the job's built-in schedule. Schedules are six-field cron, seconds first.

Inspecting and running

systemprompt infra jobs list
systemprompt infra jobs show <name>
systemprompt infra jobs history
systemprompt infra jobs run <name>
systemprompt infra jobs enable <name>
systemprompt infra jobs disable <name>

infra jobs list is the authority for the schedule a core job runs on; the tables below give the schedule only where the config file or this repo's code sets it.

Schedules set in this repo

Job Schedule Does
workflow_tick */5 * * * * * Advances workflow runs.
audit_chain_seal */30 * * * * * (file override) Seals the audit hash chain.
audit_chain_verify 0 45 4 * * * Verifies the chain.
trace_facts_rollup */30 * * * * * (file override) Trace fact rollup.
conversation_rollup 30 * * * * * Conversation facts.
activity_facts 45 * * * * * Activity facts.
brain_dense_index 0 */5 * * * * Dense index for brain recall.
clickhouse_sync 0 */15 * * * * Exports datasets to ClickHouse; no-op without clickhouse_url.
content_analytics_aggregation 0 */15 * * * * Content analytics.
publish_pipeline 0 0 * * * * (file override) Bundles and copies web assets and prerenders.
usage_daily_rollup, access_expiry 0 5 * * * * Usage rollup; expires time-bound access grants.
scope_defaults_recompute 0 15 * * * * Recomputes scope defaults.
secret_migration 0 0 * * * * Secret migration.
cleanup_empty_contexts, cleanup_inactive_sessions 0 0 * * * * (file override) Session and context cleanup.
cleanup_anonymous_users 0 0 3 * * * (file override, retention_days: 7) Removes anonymous fingerprint users.
plugin_usage_retention 0 20 3 * * * Plugin usage retention.
database_cleanup 0 0 4 * * * (file override) Retention deletes.
retention_daily_report 0 30 4 * * * Retention measurements.
retention_export_weekly 0 0 2 * * 0 Weekly archive.
retention_export_monthly 0 30 2 1 * * Monthly archive.

Core jobs on their built-in schedule

managed_inventory_refresh, config_reconcile, oauth_cleanup, user_rate_limit_prune, no_js_cleanup, ghost_session_cleanup, mcp_session_cleanup, file_ingestion, behavioral_analysis, malicious_ip_blacklist, usage_anomaly_scan, thought_signature_cleanup, tool_row_facts_rollup, outbox_backlog_rollup, user_context_counters_rollup, log_summary_rollup, backfill_rollups, ai_request_tool_flag_rollup, session_bot_type_rollup, analytics_event_link_facts_rollup, vertex_discovery, otlp_export, issue_report_retention, notification_retention, agent_run_dirs_cleanup; the brain jobs brain_review, brain_retention, brain_analysis, brain_usage, brain_consolidate (each returns at once while the brain is off in the profile); and the Drive jobs document_collab_reaper, document_presence_sweep, document_collab_update_sweep, document_node_ids_backfill, document_upload_expiry, document_agent_read_retention, document_blob_gc, document_trash_purge. clickhouse_purge (web) also runs on its built-in schedule.

Switched off

blog_content_ingestion, bundle_admin_css, copy_extension_assets, site_content_prerender, content_prerender, page_prerender, sitemap_generation, llms_txt_generation and robots_txt_generation are declared with enabled: false; publish_pipeline covers the asset steps.