Giter VIP home page Giter VIP logo

Comments (6)

denniskuczynski avatar denniskuczynski commented on June 12, 2024

@nesquena Sure, I'd love to help you guys with an admin panel.

I don't know if it's smart to try to try to model the Resque/Sidekiq admin panels too closely though.
Since those tools use Redis, it's a little easier to have query functionality, since the web client can just read from the same keys as the worker processes.

Beanstalkd is more of a pure work queue, you can only really query with the peek commands.

I'm a little scared about reserving jobs for display purposes, because it could affect the ordering or the processing speed (one of beanstalkd's big advantages). For example, if you reserve the first 100 jobs from a queue, the 101st job might be processed first by a worker, even if the 100 jobs are immediately released. This might be less of a problem for a buried job queues, since those already failed.

I was experimenting in beanstalkd_view of trying to peek jobs by id ranges (based on guessing a range from the id returned by peek-ready). But that's still kind of wonky.

I kind of like what this client is doing:
https://github.com/ptrofimov/beanstalk_console

I think the focus of the admin interface functionality should try to lean in the directions that beanstalkd does best.

Perhaps instead we could just display a big status table of all the backburner job queues with the queue statistics and in-depth details of the peek-ready job. (This could auto-refresh through javascript to give the users a sense of the internal processing.)

With a slick error interface -- having access to all the ready jobs might not be that necessary of a feature. I know I'm usually more interested in just the fact that the system is churning through jobs and only digging into the details of the jobs that fail or need to be retried.

Let me know what you think. Maybe @kr has some thoughts on good methods to query the state of beanstalkd jobs for administration?

from backburner.

nesquena avatar nesquena commented on June 12, 2024

Yeah I can see what you mean. Seeing a bird's eye view of the backburner work queues and seeing how many jobs, other stats etc is definitely a great overview. And being able to explore buried jobs and inspect / kick those would definitely be more important then viewing ready jobs for sure.

I would love your help putting together the first admin interface for backburner and definitely appreciate your feedback on how to make an admin panel that best fits with beanstalkd's strengths.

from backburner.

kr avatar kr commented on June 12, 2024

I think it's fine to reserve and release a bunch of jobs just
so you can display them. If you have more than one worker,
they're not guaranteed to run in order anyway.

from backburner.

nesquena avatar nesquena commented on June 12, 2024

Good point, by design the order of the jobs processed really shouldn't have any impact.

from backburner.

denniskuczynski avatar denniskuczynski commented on June 12, 2024

Yeah, I guess that's true. It's more a theoretical issue than a practical one.

When I get a chance, I'll see about creating a fork/branch with a basic skeleton/prototype.

from backburner.

nesquena avatar nesquena commented on June 12, 2024

Sounds great, thanks @denniskuczynski

from backburner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.