rake resque:pool isn't respecting TERM_CHILD?
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 456
- Forks
- 149
- Avg merge
- 9d 7h
- Merged PRs (30d)
- 3
Description
I think I'm seeing an issue where rake resque:pool doesn't honor the TERM_CHILD=1 flag. If I run resque-pool, it does work as expected.
Here is the output from rake resque:pool:
~/app $ TERM_CHILD=1 bundle exec rake resque:pool
resque-pool-worker[integrations][34943]: Starting worker abedford-mbpr.local:34943:*
resque-pool-worker[integrations][34944]: Starting worker abedford-mbpr.local:34944:*
resque-pool-manager[integrations][34935]: started manager
resque-pool-worker[integrations][34945]: Starting worker abedford-mbpr.local:34945:*
resque-pool-manager[integrations][34935]: Pool contains worker PIDs: [34943, 34944, 34945, 34946, 34947]
resque-pool-worker[integrations][34946]: Starting worker abedford-mbpr.local:34946:*
resque-pool-worker[integrations][34947]: Starting worker abedford-mbpr.local:34947:*
^Cresque-pool-manager[integrations][34935]: INT: immediate shutdown (graceful worker shutdown)
resque-pool-manager[integrations][34935]: Sending TERM to all workers
resque-pool-manager[integrations][34935]: manager finished
Here is the output from resque-pool:
~/app $ TERM_CHILD=1 bundle exec resque-pool
resque-pool-manager[integrations][34858]: Resque Pool running in development environment
resque-pool-manager[34858]: TERM_CHILD enabled, so will user 'term-graceful-and-wait' behaviour
resque-pool-worker[integrations][34866]: Starting worker abedford-mbpr.local:34866:*
resque-pool-worker[integrations][34867]: Starting worker abedford-mbpr.local:34867:*
resque-pool-worker[integrations][34868]: Starting worker abedford-mbpr.local:34868:*
resque-pool-manager[integrations][34858]: started manager
resque-pool-manager[integrations][34858]: Pool contains worker PIDs: [34866, 34867, 34868, 34869, 34870]
resque-pool-worker[integrations][34870]: Starting worker abedford-mbpr.local:34870:*
resque-pool-worker[integrations][34869]: Starting worker abedford-mbpr.local:34869:*
^Cresque-pool-manager[integrations][34858]: INT: immediate shutdown (graceful worker shutdown)
resque-pool-manager[integrations][34858]: Sending TERM to all workers
resque-pool-manager[integrations][34858]: manager finished
I notice this line: resque-pool-manager[34858]: TERM_CHILD enabled, so will user 'term-graceful-and-wait' behaviour indicating that term child is enabled. Does the lack of this in the rake resque:pool mean what I think it does - that TERM_CHILD isn't respected?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the rake resque:pool entry point with the resque-pool executable, focusing first on how TERM_CHILD is read and passed to the pool manager. Reproduce both commands with TERM_CHILD=1 and verify that the rake task selects the same term-graceful-and-wait behavior and emits the corresponding enabled message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100