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

Running jobs should list all the jobs being run in the cluster #69

jtomaszewski opened this issue May 14, 2018 · 5 comments


Copy link

jtomaszewski commented May 14, 2018

Let's say I have 2 nodes, node_id: "1" and node_id: "2" running on the same redis server.

Currently, the "Failed", "Enqueued", "Scheduled" jobs properly list all jobs in the cluster (that is, jobs saved in Redis, no matter on what node is the VerkWeb being run).

Unfortunately, the "Running jobs" count and list lists only jobs running in the given node.

It would be cool if it would list all the jobs that are inprogress in all currently living nodes.

Possibly related to edgurgel/verk#157 ?

P.S. Until we implement it, we could mention it in the README and/or in VerkWeb interface.

Copy link

edgurgel commented May 30, 2018

Yeah 🤔 . Each VerkWeb exposes data about the co-located running jobs. We don't store all running jobs inside Redis to share across all VerkWeb instances because it can be a substantial amount of data. And because they can be short-lived jobs it would be just an unnecessary overhead. At least this was the reasoning behind.

I'm not sure what's the best approach in this case. Maybe we could keep track of "long-running jobs" somehow and every VerkWeb instance would be able to store and visualise them?

It's also possible (not ideal IMHO) for the user to set up a GenStage consumer that reads data about every job and keeps this info somewhere (your own DB). More here:

Copy link

I see. Seems like it's not that easy and maybe not even required (most of jobs are short-lived IMO).

Maybe we could mention it in the VerkWeb interface at least, so we avoid confusions. Like add a small warning alert above the "Running" list, that it is the list only for the current instance. WDYT? I can do a PR if u want

Copy link

edgurgel commented Jun 9, 2018

Yeah that would be great! 👍

Copy link

suddenrushofsushi commented Feb 13, 2019

Perhaps a list of nodes active in the cluster would be more helpful, including the ability to bounce around inspecting each node.

For example, I may have between 2 to 40 (or more) background processors running across a cluster (auto-scaling).

Being able to use a single verk_web instance to enumerate them and pop in to see what any given node is chewing on would be really cool.

(apologies for the near-necro on this issue, btw)

Copy link

Maybe some aggregated stats could be saved inside Redis for all nodes in the cluster, like processed, failed, retries, dead counts. Data would be aggregated every X seconds where X could be configured. The main dashboard page with the graph could then show combined data for all nodes in the cluster with a pull-down menu where you can select individual nodes and see the data only for that node. If you run lots of servers and one of them starts to misbehave it would be very useful to have stats at the node level. Aggregated stats could have a TTL set to them and after a while, they will disappear if a server no longer runs and update them.

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

No branches or pull requests

4 participants