I'm working on a message queueing system in a Rails application and trying to figure out whether to use delayed_job or sidekiq. Reading articles online it seems sidekiq is better performant for the job but wondering if for my use case if delayed_job should be considered.
Basically it's a message system that will have messages that can be immediately delivered or could be scheduled for a future date. Should also be able to edit the queued message as well as delete them from the queue.
This application will run on Heroku if there are any technical considerations around that choice.
Considering AWS' SQS as well but thinking it'll be more overhead to go down this route.
By DelayedJob do you mean DelayedJob backed by ActiveRecord/DB? I assume so from how the question is worded.
I'm a big fan of DB backed queues for most situations, especially to start out. One big benefit is you don't need additional infrastructure, assuming you are already using a DB.
DB backed queues can definitely have scaling issues, but depending on the size of your queue and the size of your DB you can put off that issue for almost ever. For example at my job we average over 4 million jobs a day via our DB backed queue.
In general I think DB backed queues are my default, unless the specifics of the project call for something else!