Comments (6)
Just to add to this - I think It would be great to document a similar feature list to those adapters directly in ActiveJob Queue Adapters.
| | Async | Queues | Delayed | Priorities | Timeout | Retries |
|-------------------|-------|--------|------------|------------|---------|---------|
| Backburner | Yes | Yes | Yes | Yes | Job | Global |
| Delayed Job | Yes | Yes | Yes | Job | Global | Global |
| Que | Yes | Yes | Yes | Job | No | Job |
| queue_classic | Yes | Yes | Yes* | No | No | No |
| Resque | Yes | Yes | Yes (Gem) | Queue | Global | Yes |
| Sidekiq | Yes | Yes | Yes | Queue | No | Job |
| Sneakers | Yes | Yes | No | Queue | Queue | No |
| Sucker Punch | Yes | Yes | Yes | No | No | No |
| Active Job Async | Yes | Yes | Yes | No | No | No |
| Active Job Inline | No | Yes | N/A | N/A | N/A | N/A |
My understanding from what I have read so far is it would look like this:
Async | Queues | Delayed | Priorities | Timeout | Retries | |
---|---|---|---|---|---|---|
Karafka | Yes | Yes | No | No | Global | No |
Looking at this:
- Async
- Via threads (Individual Jobs are Sync)
- Timeouts
- My understanding is the timeout for the Job (not the Kafka consumer) would be defined by how long
max.poll.interval.ms
is set forKafka
as if the job hits this the consumer would be considereddead
byKafka
- this could cause issues as the Job is not necessarily going to stop and another member of the consumer group could pick it up (Im doing some testing around this now)
- My understanding is the timeout for the Job (not the Kafka consumer) would be defined by how long
from wiki.
@whithajess in Rails itself I cannot as they no longer accept PRs for new adapters.
Also, don't you think we have retries? ;) Upon crash Karafka will retry the job based on the retry policies
from wiki.
@whithajess in Rails itself I cannot as they no longer accept PRs for new adapters.
Also, don't you think we have retries? ;) Upon crash Karafka will retry the job based on the retry policies
No just in the ActiveJob documentation you are writing.
I didn't think it was configurable other than the back off?
Job: The number of retries can be set per instance of the job class.
Yes: The Number of retries can be configured globally, for each instance or on the queue. This adapter may also present failed instances of the job class that can be restarted.
Global: The adapter has a global number of retries.
No: The adapter does not allow the number of retries to be configured.
N/A: The adapter does not run in a separate process, and therefore doesn't support retries.
from wiki.
Ah ok. I thought you meant a general retries policy. The AJ jobs yes, no retries of theirs on that one.
from wiki.
Note for myself: document AJ with LRJ + VP
from wiki.
AJ and VP are documented.
from wiki.
Related Issues (18)
- Add EOL table to the Wiki and link in the readme
- Document static memberships in Karafka
- Document Virtual Partitions
- Document Long Running Jobs
- Document improved scheduler using metrics tracker
- Add a debug section
- Expand signals doc with ttin + add debug info
- Document transactional outbox pattern usage HOT 2
- Document ability of Karafka to run unique jobs with DB support HOT 1
- Document scaling horizontal vs vertical
- Document forceful shutdown in the FAQ HOT 1
- `ApplicationConsumer` testing HOT 6
- Documentation error on `karafka-testing` example HOT 2
- Consumer groups documentation HOT 3
- Integrate typos detector from Coditsu
- Karafka 2.0 Wiki todos and updates HOT 1
- Document: When karafka.rb is loaded via railtie in test env, simplecov does not track code cov changes when loaded late
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 wiki.