karafka / wiki

Wiki of the main Karafka repository
https://karafka.io
Other
3 stars 12 forks source link

Document config AJ details + LRJ/VP + combo #8

Closed mensfeld closed 2 years ago

mensfeld commented 2 years ago

ref https://github.com/karafka/karafka/issues/798

whithajess commented 2 years ago

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:

mensfeld commented 2 years ago

@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

whithajess commented 2 years ago

@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.

mensfeld commented 2 years ago

Ah ok. I thought you meant a general retries policy. The AJ jobs yes, no retries of theirs on that one.

mensfeld commented 2 years ago

Note for myself: document AJ with LRJ + VP

mensfeld commented 2 years ago

AJ and VP are documented.