Blog · E-commerce

Cron jobs for Shopify, WooCommerce and e-commerce backends

Shopify Flow fires on events, not a clock. WooCommerce's Action Scheduler depends on wp-cron. These posts cover the polling, sync, and reconciliation work that needs a real schedule behind it.

About this topic

E-commerce

2 itemsBlog

Most e-commerce platforms ship event triggers and call it scheduling. Shopify Flow fires when an order is created or a tag is added, but it has no native way to poll the Admin API on a per-shop, per-timezone cadence. WooCommerce's Action Scheduler is a real queue, but it depends on wp-cron, which only fires when a visitor lands on the site. Once you start polling the Admin API for windowed checkouts, drafting timezone-aware end-of-day reports, or chasing abandoned carts at 22:30 in Europe/London for a UK shop and 22:30 in America/Los_Angeles for a US shop, the native tools run out.

Crontap is the external clock behind the storefront. One schedule per shop, per IANA timezone, with custom headers (the Shopify Admin token, the WooCommerce REST credentials) and retries for the inevitable 429. Failure alerts go to Slack, Discord, Telegram, email, or a webhook so a missed nightly inventory sync surfaces in your ops channel instead of next morning's audit. The posts below cover the Shopify Admin API recurring sync and the WooCommerce wp-cron fix.

Blog on E-commerce

2 items

Related on Crontap

The same E-commerce topic, from other angles.

FAQ

Common questions on E-commerce

Why not just use Shopify Flow for scheduled checks?
Flow is event-driven. It reacts to an order being created, a tag being added, a customer subscribing, but it cannot fire on a fixed cadence. For windowed polling of the Admin API, end-of-day reports, or any cadence-driven work, you need an external clock pointed at a private app endpoint.
Multiple shops, different timezones. How does that look?
One schedule per shop in Crontap. Each carries its own IANA timezone, so the 22:00 daily report fires at 22:00 Europe/London for one shop and 22:00 America/Los_Angeles for another, with DST handled automatically. Crontap's bulk-create flow keeps it tidy when you onboard a new shop.
Shopify Admin API rate limits, anything special I need?
Use the windowed-GET pattern with created_at_min to keep payloads small, and set a retry on the schedule so the inevitable 429 doesn't surface as a false failure. The post on the recurring checkout sync walks the exact REST shape.
Does WooCommerce Action Scheduler still work without wp-cron?
Yes, and it works better. Action Scheduler is a queue, not a clock. Replacing wp-cron's visitor-tied tick with a Crontap schedule hitting wp-cron.php every 1 to 5 minutes makes Action Scheduler drain on time instead of when traffic happens to arrive.

More from Crontap

Topics across the site.

Every topic Crontap covers, in one row. Each one has its own page on the blog surface.

Ready to fix it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

GET

/wp-cron.php?doing_wp_cron=1

Running
Your next schedule

Schedule

"every 5 minutes"

Next

in 23s