veeqo/advanced-sneakers-activejob

rubygems question

HendrikPetertje opened this issue · 3 comments

Hi Veeqo team!

First of all, thank you sooo much for making this awesome plugin! I've been looking for a good Sidekiq replacement for a while now.
The reason for this being the fact that the free plug and play version of Sidekiq looses jobs on unexpected interrupts by design. Sidekiq's pro documentation states that paying will make that problem go away.

If a Sidekiq process crashes while processing a job, that job is lost.
...
Sidekiq Pro uses Redis's RPOPLPUSH command to ensure that jobs will not be lost if the process crashes or gets a KILL signal
https://sidekiq.org/products/pro.html

Sadly I've been on multiple projects where we were seeing job loss, especially around restarting Kubernetes clusters and connections.

So thanks for making a plugin where I don't have to worry about losing jobs and with it pretty instrumental data in my pet- and bigger projects while I can continue to rely on Rails' ActiveJob system! really, you guys rock!

This implementation of sneakers you folks did has some pretty big potential in the broader Rails community -- not because its free per-say -- but because:

  • it decouples a lot of overhead like cron, bells and wistles to their own plugins. I get some pretty big YAGNI vibes on some of the other options out there.
  • It decouples timers, queue management, work flow, etc. away from rails into its own specialized (yet fairly easy) domain (RabbitMQ) which is a big win!
  • So much potential in Monoliths, but also in wanting to include OTP in micro-services and/or multi-tenant infrastructure.

THAT SAID....

Would you be able to publish the latest changes you made to your plugin (particularity around Rails 7.0.x compatibility) to rubygems.org if and when able? Some of the folks I work for are a bit scared of plugins that aren't too widely used. Not having a "working" version of your plugin over on rubygems.org -- accumulating a download counter -- isn't really helping in that department ;)

edit: Small typo fix

PS: I'm doing bit of a comparison of different options as the team I'm currently working with and me are looking for a neat Sidekiq replacement; feel free to comment on or share https://github.com/HendrikPetertje/workers_test_app/tree/advanced_sneakers.

Each branch has a little report in the README.md with our thoughts.

@HendrikPetertje Thank you for the feedback ❤️ . You have a great research project 👍

The 0.6.0 version is released.

BTW if you switching to ActiveJob, you probably can find the activejob-uniqueness to be useful as well

Thanks so much! I'll give ActiveJobUniqueness a look!