Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WooCommerce jobs eat up PHP workers unnecessarily #780

Open
1 task
rmccue opened this issue Jul 19, 2023 · 0 comments · May be fixed by #779
Open
1 task

WooCommerce jobs eat up PHP workers unnecessarily #780

rmccue opened this issue Jul 19, 2023 · 0 comments · May be fixed by #779
Labels
bug Existing functionality isn't behaving as expected

Comments

@rmccue
Copy link
Member

rmccue commented Jul 19, 2023

If the background processing in Cavalcade has a minor blip, or jobs start to exceed typical times, Action Scheduler (WooCommerce's custom job processing) will skip over using cron and start using async HTTP requests. As this happens when the queue processing is starting to be slow, the async processing can also be slow.

Worse, because these are then routed to the web workers rather than Cavalcade, autoscaling of Cavalcade won't kick in correctly, and PHP workers will be used up unnecessarily causing the web containers to be misused.

We can tweak Action Scheduler's behaviour to ensure it always uses wp-cron, and then further optimise how it uses wp-cron to ensure efficient processing. This should improve AS performance as well as avoiding impacts on the web containers from backlogged queues.

See also, https://github.com/woocommerce/action-scheduler/blob/trunk/docs/perf.md

Acceptance criteria:

  • When WooCommerce is activated, Action Scheduler does not spawn async HTTP requests to process jobs
@rmccue rmccue added the bug Existing functionality isn't behaving as expected label Jul 19, 2023
@rmccue rmccue linked a pull request Jul 19, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Existing functionality isn't behaving as expected
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant