Cron & Scheduled Tasks
Configure your hosting scheduler to call the site’s auction endpoints. Replace https://example.com with your actual WordPress home URL, including any installation subdirectory.
Protect external requests
Section titled “Protect external requests”Open Auctions → Settings → Tools → Cron Secret Token. Use Generate Token, then Save changes. Copy each saved External Cron URL into the corresponding hosting scheduler job. The URLs include the auction-cron-key parameter when a token is configured.
A blank token allows unauthenticated requests. With a saved token, a missing or incorrect key returns HTTP 403 without running the task. After changing the token, update every external cron job. Keep tokens and authenticated URLs out of screenshots, public logs, and support requests.
Endpoint schedule
Section titled “Endpoint schedule”| Endpoint | Starting schedule |
|---|---|
/?auction-cron=check |
Every minute; processes due auction closures and lot checks. |
/?auction-cron=mails |
Every two hours, matching the plugin’s admin recommendation. |
/?auction-cron=relist |
Hourly, when using automatic relisting. |
/?auction-cron=closing-soon-emails |
Hourly, matching the plugin’s admin recommendation; use a shorter interval for short notice windows. |
/?auction-cron=remind-to-pay |
Daily, when using payment reminders. |
Example server crontab
Section titled “Example server crontab”These examples show the endpoint schedule without token protection. When a token is saved, replace each example URL with its complete saved URL from Tools. Keep the URL quoted so the shell preserves query parameters.
* * * * * curl --fail --silent --show-error 'https://example.com/?auction-cron=check' >/dev/null0 */2 * * * curl --fail --silent --show-error 'https://example.com/?auction-cron=mails' >/dev/null0 * * * * curl --fail --silent --show-error 'https://example.com/?auction-cron=relist' >/dev/null0 * * * * curl --fail --silent --show-error 'https://example.com/?auction-cron=closing-soon-emails' >/dev/null0 9 * * * curl --fail --silent --show-error 'https://example.com/?auction-cron=remind-to-pay' >/dev/nullThe daily time uses the scheduler’s timezone. Use the scheduler equivalent for your hosting platform. Run only the optional mail/relist tasks your store needs.
External cron status
Section titled “External cron status”Under Auctions → Settings → Tools → External Cron Status, each task shows Last started and Last successful completion in the site’s timezone. Refresh the page to update the cards.
| Status | Meaning |
|---|---|
| Never run | No external request has been recorded since tracking became available. |
| No successful completion yet | A request started, but no successful completion is recorded. |
| OK | A recent successful completion is recorded. |
| Late | The last success is older than the task’s tolerance, or an initial run has not completed within that tolerance. |
| Error | The tracked task threw an error. Check server logs before retrying. |
| Currently running | An additional indicator for a recently started request that has not recorded completion. |
The late thresholds are five minutes for check, four hours for mails, two hours for relist and closing-soon-emails, and two days for remind-to-pay. Optional tasks you have not configured may show Never run.
These cards track external requests only. WordPress cron execution is separate. A successful completion records that the handler returned; verify the intended auction result and email or payment outcome separately. Requests rejected for an invalid token do not update these cards, so check the hosting scheduler’s HTTP result when diagnosing missing runs.
Lot scheduling
Section titled “Lot scheduling”The plugin attempts to schedule woocommerce_simple_auctions_lots_cron_event on the every_minute WordPress recurrence. Check that the recurrence exists and the event runs on your installation. The external check endpoint also invokes the lot check.
Do not disable WordPress cron without providing a replacement for WordPress and WooCommerce scheduled tasks. Calling auction endpoints alone is not a replacement for all site tasks.
Verify processing
Section titled “Verify processing”Use a test auction with a near-future closing time. Check scheduler exit status, endpoint access, final auction state, winner processing, and email delivery. A blank HTTP response by itself does not prove that a particular auction changed state.
Exclude the auction-cron query endpoints from full-page caching, maintenance-page redirects, and access challenges that prevent scheduler requests from reaching WordPress.