Cron Jobs
B2B Quote uses Magento's standard default cron group for expiration, reminders, draft cleanup, and revision retention. If Magento cron is not running, interactive quote actions still work, but time-based maintenance stops.
Scheduled jobs
| Job name | Default schedule | Purpose |
|---|---|---|
b2bquote_quote_check_expired |
Daily at 02:00 | Moves eligible quotes past their validity date into the configured expired-state workflow. |
b2bquote_send_expiration_reminders |
Hourly | Sends reminders for configured intervals before expiry. |
b2bquote_delete_old_drafts |
Daily at 03:00 | Deletes draft quotes older than the configured lifetime. |
b2bquote_cleanup_old_revisions |
Daily at 04:00 | Removes eligible old revisions when revision cleanup is enabled. |
Schedules use the server's cron context. Quote date decisions can also depend on the Magento store timezone, so verify both when a job appears to run on the wrong day.
Required configuration
- Expiration reminders require email notifications, reminder delivery, intervals, and a template.
- Draft cleanup uses the customer-experience draft lifetime. A value of
0disables lifetime-based deletion. - Revision cleanup requires Enable Revision Cleanup and a positive retention period.
- Expiration processing needs valid expired-state statuses and transitions used by the extension's automated workflow.
Verify Magento cron
From the Magento installation:
php bin/magento cron:run --group default
Run it a second time when testing newly scheduled work: the first invocation can generate schedules and the next executes jobs that are due. In production, rely on Magento's configured operating-system cron rather than manual runs.
Inspect the cron_schedule table for the exact job code and review Magento logs for errors. A row marked success proves the job returned successfully; verify the affected quote or email as well.
Troubleshooting sequence
- Confirm the operating-system cron invokes Magento regularly.
- Confirm
defaultgroup schedules are being generated and executed. - Filter
cron_scheduleby the B2B Quote job code. - Check store-scoped feature settings and the quote's dates and status.
- Review Magento exception and system logs.
- For reminders, verify mail transport and capture the expected message.
- For cleanup, use a non-production fixture near the age boundary before enabling deletion on live data.
Do not “fix” a missed job by editing quote dates or deleting rows manually. Resolve scheduling or configuration first, then run the supported job.