Before starting with setup process lets first briefly go through what Sidekiq is? and how it works? Sidekiq provides very handy and efficient way to perform most of our work asynchronously in a job. Provided Redis cache connection to it, it serializes all job parameters in Redis and deserializes it while picking it up for execution based on priority of job as it uses queue data structure to store each job in particular queue specified in job and each queue has its priority defined as high,...

Read complete blog post

If you are using Sidetiq to set recurrence to schedule background jobs, then you may want to be aware of this known and reported issue with 'recurrence'. (btw, recurrence schedule is done using ice_cube gem)

This is likely an issue in Ruby 1.9.3 but I have posted comments on this article here Link to SO question(http://stackoverflow.com/questions/20936305/sidekiq-sidetiq-recurrence-every-2-hours) along with git issue to clarify if its an issue with Ruby 2.0 and above. References at the bottom...

Read complete blog post

(Please note that the below mentioned steps and troubleshooting is not for Heroku. These are specifically for dedicated servers, VPS etc.)

Following are the steps to debug, troubleshoot and fix commonly faced Sidekiq and Redis related issues in RoR app.

1. Firstly, make sure Sidekiq URL is working.

URL - http://staging.app.com/sidekiq

In case if the app has restricted access to Sidekiq web url then we need to login as admin user to view sidekiq web administrator page.

2. If this url shows...

Read complete blog post

In most of our apps, we probably need to execute few background tasks more often, like every 10 minutes, once a week, etc. For scheduling these jobs, we need a scheduler that can re-run these tasks on specified intervals.

There are few schedulers like whenever, resque-scheduler, rufus-scheduler, etc that can do the job. However, these gems are not compatible Sidekiq and with apps deployed on Heroku.

There are 2 ways to make it work on Heroku.

1/ Using Heroku Scheduler addon.

Steps:

i) Create...

Read complete blog post