Job Scheduling
Cron schedules for matching and Stripe sync, plus retention settings.
What is job scheduling
Job scheduling preferences control when scheduled jobs run and how long data is retained. They are part of TenantSetting.jobSchedulingPreferences. The scheduler reads these settings at startup and when settings are updated, creating or updating BullMQ repeatable jobs.
Schedules
| Attribute | Purpose |
|---|---|
| matchingSchedule | Cron for batch matching. Runs match for pending incoming transactions. |
| stripeSyncSchedule | Cron for Stripe sync. Syncs all enabled Stripe connections for the tenant/environment. |
If a schedule is omitted, that job type is not scheduled. Set both to run matching and Stripe sync on a schedule.
Retention
| Attribute | Purpose |
|---|---|
| auditLogRetentionDays | 1–3650. Default: 90. Cleanup job deletes older audit logs. |
| completedJobRetentionDays | 1–365. Default: 30. Cleanup job deletes completed job records. |
| expiredMatchRetentionDays | Days before PENDING matches transition to EXPIRED. |
| maxChargesPerStripeSync | 100–100000. Default: 10000. Cap per sync run. |
Cron format
Use standard cron expressions (e.g. 0 * * * * = hourly, 0 0 * * * = daily at midnight UTC).
Related
- Jobs — Job types and triggers
- Data Sources — Stripe sync