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

Increase resilience of worker by breaking out the "fetch job" vs "do job" parts #19

Open
wants to merge 6 commits into
base: 0.2
Choose a base branch
from

Conversation

cooperaj
Copy link

In a situation where the worker fails to be able to communicate with it's job provider i.e. Redis it will fail with an exception. The only way to get it to resolve a new Redis server (assuming some sort of HA setup) is to restart the worker - this is because PHP, rather helpfully, caches name lookups.

By breaking out fetching of jobs from doing of jobs you're able to catch that possible case and cause the worker to exit (and be restarted by whatever scheduling tool you're using). In our situation this results in a new resolution to the revived/hot spare Redis instance and a working queue.

@coveralls
Copy link

coveralls commented Oct 19, 2018

Coverage Status

Coverage increased (+11.3%) to 100.0% when pulling cc6db26 on UniversityOfNottingham:feature/0.2-make-worker-resiliant into ed2cbf9 on maxbrokman:0.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants