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

Worker heartbeat #80

Open
jnunemaker opened this issue Jan 24, 2014 · 4 comments
Open

Worker heartbeat #80

jnunemaker opened this issue Jan 24, 2014 · 4 comments
Labels

Comments

@jnunemaker
Copy link
Collaborator

I'd love optional heartbeat tracking. NullHeartbeat by default, but allow people to inject a redis or whatever based heartbeat that is similar to https://github.com/shaiguitar/resque_stuck_queue. Something that gives people insight into the workers.

@jnunemaker
Copy link
Collaborator Author

I do not want this in the backend interface. It would be a new interface, say heartbeat, and would have its own methods to implement and specs to test adherence. This would allow people to use different heartbeat mechanisms with different queue backends.

@mauricio
Copy link
Collaborator

mauricio commented Feb 8, 2014

Isn't this better done the other way around?

You have a heartbeat process that pings someone every time it tries to consume from queue X, if there is a long time between pings or this someone stops receiving pings it would then notify you that something is wrong.

This someone could be CloudWatch (with alerts), PagerDuty, Scout or any other service that looks for this kind of stuff. This would even allow host monitoring, if the service at the other end is configured to handle every host it could maintain information about every host's status and and send notifications based on this.

Running separate resque processes to access queue health is rather cumbersome, I used to do it and it complicates the problem much more than solving it.

@jnunemaker
Copy link
Collaborator Author

I mostly put this as a reminder to myself. Should have documented what I meant more. I do not mean a separate process.

Heartbeat is not even the right term. More I see this as an interface for keeping track of what is happening with your workers in a way that could be show in a UI.

For example, some of the methods would be registering and unregistering workers. What job is a worker working on right now? Hope that makes more sense. Pretty unclear from the description above. Please read my mind in the future. Haha. :)

@mauricio
Copy link
Collaborator

mauricio commented Feb 8, 2014

Well, that's along the lines of what I thought as well, looks like my
mentat abilities are still functioning :P

Having this as a presence service for workers would definitely be nice.

Em sábado, 8 de fevereiro de 2014, John Nunemaker [email protected]
escreveu:

I mostly put this as a reminder to myself. Should have documented what I
meant more. I do not mean a separate process.

Heartbeat is not even the right term. More I see this as an interface for
keeping track of what is happening with your workers in a way that could be
show in a UI.

For example, some of the methods would be registering and unregistering
workers. What job is a worker working on right now? Hope that makes more
sense. Pretty unclear from the description above. Please read my mind in
the future. Haha. :)

Reply to this email directly or view it on GitHubhttps://github.com//issues/80#issuecomment-34557015
.

Maurício Linhares
http://mauricio.github.io/ - http://twitter.com/#!/mauriciojr

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

No branches or pull requests

2 participants