Comments (9)
I think that's a critical feature of resque which might prohibit me from switching to beanstalkd/backburner. Have you received reports/issues of users having this type of problem?
from backburner.
Yes I have a few people that mentioned to me running into this issue, I have not had this problem yet in my own applications. It really depends on the types of jobs you are running. So far I just create multiple workers (separate processes) and have them process the jobs similar to delayed_job: https://github.com/collectiveidea/delayed_job
I am not convinced that a forked worker is necessary for a large set of cases. That said, I am actually interested in having a threaded and forking worker available so people can choose based on their needs.
from backburner.
Check out:
https://github.com/nesquena/backburner/blob/workers/lib/backburner/worker.rb
https://github.com/nesquena/backburner/blob/workers/lib/backburner/workers/simple.rb
What do you think of this? I kind of like using subclassing here to create workers because it requires less code in each individual worker and then usage of workers to be more explicit.
If you like it, can you try porting the forking_thread_worker to this format?
from backburner.
@nesquena yes. My only problem is with tests. I'm not good with this yet so I'll make only the basic ones.
from backburner.
Yeah threaded+forked worker are probably not the easiest to test but let's try and make sure it at least ensures the jobs are all processed perhaps by logging to a file (you can specify the logger backburner uses in configuration) and then checking the file to ensure processing occurred. What do you think? However we can verify basic processing correctness.
Nathan Esquenazi
On Thursday, November 8, 2012 at 1:38 PM, Renan Tomal Fernandes wrote:
@nesquena (https://github.com/nesquena) yes. My only problem is with tests. I'm not good with this yet so I'll make only the basic ones.
—
Reply to this email directly or view it on GitHub (#3 (comment)).
from backburner.
Good reference for a simple forking worker michaeldwan/stalker@3862676 by @michaeldwan
from backburner.
FYI, I've got a start on this here:
https://github.com/danielfarrell/backburner/tree/forking-worker
I need to write a test still before I send a pull request.
from backburner.
@danielfarrell Awesome, thanks Daniel. Let me know when the tests are ready and I will merge and update all the documentation.
from backburner.
Closed with 0.3.1 thanks to @danielfarrell
from backburner.
Related Issues (20)
- undefined method `tubes' for Backburner::Connection
- Queue settings aren't inherited from superclass
- Support retrying jobs without logging an exception HOT 1
- Job remains reserved when before_perform hook returns false
- Incompatible with foreman? HOT 2
- Possible to process jobs not enqueued with Backburner? HOT 1
- Travis builds failing HOT 4
- concurrent-ruby restrictive dependency HOT 2
- New release? HOT 1
- Datadog monitoring hooks
- Implement unix socket url
- ActiveJob based of backburner is restarting the job within HOT 2
- Difference with BeanEater HOT 1
- ThreadsOnFork not taking any job with a thread_number of 1 HOT 2
- Upgrading Beaneater to 1.1 makes job queues fail HOT 3
- Hook documentation is misleading about the ability to bury a job HOT 1
- NoMethodError (undefined method `queue_max_job_retries' for TestJob:Class) HOT 3
- Alternative ways to make workers work HOT 1
- Exception NoMethodError -> undefined method `ttr' for nil:NilClass HOT 1
- Replacing File.exists? with File.exist? as the former has been removed from ruby 2.7.7 HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from backburner.