randombits
randombits

Reputation: 48430

Resque: worker status is not right

Resque is currently showing me that I have a worker doing work on a queue. That worker was shutdown by me in the middle of the queue (it's just for testing) and the worker is still showing as running. I've confirmed the process ID has been killed and bluepill is no longer monitoring it. I can't find anyway in the UI to force clear that it is working.

What's the best way to update the status for the # of workers that are currently up (I have 2, web UI reports 3).

Upvotes: 1

Views: 1487

Answers (3)

Hugo Stieglitz
Hugo Stieglitz

Reputation: 55

For future references: also have a look under https://github.com/resque/resque/issues/299

Upvotes: 0

LeoShi
LeoShi

Reputation: 1847

Try to restart the applications.

Upvotes: 0

joelparkerhenderson
joelparkerhenderson

Reputation: 35443

You may have a lingering pid file. This file is independent of the process running; in other words, when you killed the process, it didn't delete the pid file.

If you're using a typical Rails and Resque setup, Resque will store the pid in the Rails ./tmp directory.

Some Resque start scripts specify the pid file in a different location, something like this:

PIDFILE=foo/bar/resque/pid bundle exec rake resque:work 

Wherever the script puts the pid file, look there, then delete it, then restart.

Also on the command line, you can ask redis for the running workers:

redis-cli keys *worker:*

If there are workers that you don't expect, you can delete them with:

redis-cli del <keyname>

Upvotes: 2

Related Questions