You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the email sending delay feature successfully with 2 concurrent Sidekiq workers and background email enabled. So that works fine.
My question: Sometimes I want to send-out two different campaigns around the same time, and have them both using delayed sending to deliver the emails in a timespan of 2 hours, for example. The issue is that with the curreny code the first campaign blasts need to finish before the 2nd blast will start. I believe this is normal behavior of the current code, given the fact that each blast is put in the 'default' sidekiq Q and as such executed in series by the workers.
What would be the easiest approach (on 1 server instance) to have 2 blasts being send out in delayed mode but in true parallel fashion in their own Q, with their own workers? I believe the following could maybe work:
Add an option in the Campaign GUI screen to indicate the Q to use. (Not sure in which file to add this best)
Change the code somewhere to hand-off each blast in the indicated Q. (Not sure in which file to add this best)
Can anyone confirm if this will technically be possible and if this is the right technical approach? Can anyone point to the files where changes are needed? Any help would be greatly appreciated. Thanks.
The text was updated successfully, but these errors were encountered:
This is a good question and I thought that if you were sending emails in the background that you could launch 2 campaigns in parallel using sidekiq. You make it sound like my theory is incorrect. Sidekiq should be able to handle upto 5 different blasts at a time (in theory).
I'm currently in a bit of a refactor of this code as I work towards upgrading to the latest version of rails and ruby. I should be able to test this out as I refactor.
It is indeed true that you can launch 2 or more campaigns at the same time. But because all emails are Q'ed in the 'default' sidekiq Q. The schedules campaigns (blasts) are send out in series. I think the technology is all in place to make it truely parallel. For instance based on a manual selection of some predefined (hardcoded) queues in the campaign details page. Lets say we create 10 queues to select from in the GUI. If the queue does not exist we could default to the 'default' q.
I am using the email sending delay feature successfully with 2 concurrent Sidekiq workers and background email enabled. So that works fine.
My question: Sometimes I want to send-out two different campaigns around the same time, and have them both using delayed sending to deliver the emails in a timespan of 2 hours, for example. The issue is that with the curreny code the first campaign blasts need to finish before the 2nd blast will start. I believe this is normal behavior of the current code, given the fact that each blast is put in the 'default' sidekiq Q and as such executed in series by the workers.
What would be the easiest approach (on 1 server instance) to have 2 blasts being send out in delayed mode but in true parallel fashion in their own Q, with their own workers? I believe the following could maybe work:
https://github.com/mperham/sidekiq/wiki/Advanced-Options
Can anyone confirm if this will technically be possible and if this is the right technical approach? Can anyone point to the files where changes are needed? Any help would be greatly appreciated. Thanks.
The text was updated successfully, but these errors were encountered: