Giter Site home page Giter Site logo

Comments (7)

kraih avatar kraih commented on May 27, 2024

There's a Redis backend? 😃 Anyway, i don't see anything wrong with the perform method, the fork() and waitpid() calls certainly cost a bit of performance, but that's not a bug. Or am i missing something?

from minion.

kraih avatar kraih commented on May 27, 2024

If you have an idea for speeding up the perform method, please open a new issue or pull request.

from minion.

alexvaluyskiy avatar alexvaluyskiy commented on May 27, 2024

So, why you are using forking for task performing? For right exception handling or for good isolation or for some non-blocking features?

from minion.

alexvaluyskiy avatar alexvaluyskiy commented on May 27, 2024

For example, I have 1 millions jobs (dummy jobs without any logic) and only one worker and I'm trying to perform these jobs
with forking: 382 jobs per minute
without forking: 60000 jobs per minute

that's why can't see a reason, why I should use forking version of perform method

from minion.

kraih avatar kraih commented on May 27, 2024

All of those reasons, and don't forget that pretty much every non-trivial Perl application leaks memory, which is also the main reason Hypnotoad workers get restarted regularly. I believe it is the right default. If your jobs run so fast that you can perform 60000 per minute, why would you want to use a job queue in the first place?

But of course there are different architectures for workers, and you could handle multiple jobs concurrently with a UNIX specific prefork worker. That's why the public Minion API allows you to just ignore the perform method and build your own version of it. In fact, i'm looking forward to more pluggable backends (Minion::Backend::Redis) and worker commands (Minion::Command::minion::fast_prefork_worker) on CPAN. 😄

from minion.

alexvaluyskiy avatar alexvaluyskiy commented on May 27, 2024

Maybe you are right. My point is Minion has a very good API and I can use it not only for heavy jobs, but also for some another tasks, like notifications (delayed tasks) and etc. That's why I want to have much faster worker runner for these cases.

i'm looking forward to more pluggable backends (Minion::Backend::Redis)

Right now my Redis backend passes all standart Minion tests for backends. But I should to speed up some methods. And I'm not sure about Redis transactions, which completely different from Postgres transaction. I need some tests for these cases.

from minion.

schandrakandi avatar schandrakandi commented on May 27, 2024

@alexvaluyskiy did you find any reliable solution to make this works ? could you please share if you have any suggestion to make the Job running faster.

from minion.

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.