Hey guys,
First up great work on this gem! We are very interested in deploying this on our production setup but have two concerns / questions we would like to clarify:
- Performance
We are processing around 10 Million Jobs per day, and are using a lot of push_bulk to keep the load on Redis as minimal as possible. Do you have any performance benchmarks on how many resources / extra time the gem needs to process each job?
We have queues with over 3 Million scheduled items at a time and need to make sure everything is running smoothly. Also, how much additional storage is being used on average? We are mainly concerned about Redis performance.
- Dead Locks
As far as we understand 'until_executed' requires for jobs to actually be performed in order for the lock to be lifted. What happens when queues are manually being cleared out / deleted. Will these jobs be stuck forever, or is there a way of synchronizing the enqueued jobs on a regular basis? Or even better remove the lock the moment a job is being deleted from the queue?
I guess the only other workaround would be to set an additional lock_timeout, but settings this to 7 days would result in quite some daily dataloss.
Please let us know your thoughts!
All the best,
Oskar
Hey guys,
First up great work on this gem! We are very interested in deploying this on our production setup but have two concerns / questions we would like to clarify:
We are processing around 10 Million Jobs per day, and are using a lot of push_bulk to keep the load on Redis as minimal as possible. Do you have any performance benchmarks on how many resources / extra time the gem needs to process each job?
We have queues with over 3 Million scheduled items at a time and need to make sure everything is running smoothly. Also, how much additional storage is being used on average? We are mainly concerned about Redis performance.
As far as we understand 'until_executed' requires for jobs to actually be performed in order for the lock to be lifted. What happens when queues are manually being cleared out / deleted. Will these jobs be stuck forever, or is there a way of synchronizing the enqueued jobs on a regular basis? Or even better remove the lock the moment a job is being deleted from the queue?
I guess the only other workaround would be to set an additional lock_timeout, but settings this to 7 days would result in quite some daily dataloss.
Please let us know your thoughts!
All the best,
Oskar