On Task Systems(blog.evantahler.com)
blog.evantahler.com
On Task Systems
http://blog.evantahler.com/blog/on-task-systems.html
3 comments
Cool! I haven't heard of Kue. I'll take a look!
Source for the curious: https://github.com/learnboost/kue
Source for the curious: https://github.com/learnboost/kue
The article's statement "Putting them within a transaction is also no good, as you can't read and make decisions on the result (is the result of the select null?)" is not correct. You can implement task assignment in a SERIALIZABLE-capable RDBMS using a single "UPDATE ... SET assigned_to = 'me' WHERE assigned_to IS NULL" statement, or the equivalent of "SELECT FOR UPDATE" at the beginning of a transaction in order to examine the row in advance.
good call, I'll update that.
I generally assume mySQL's feature-set, which I probably shouldn't do without clarification.
I generally assume mySQL's feature-set, which I probably shouldn't do without clarification.
In my experience, I've found that it is much more reliable to use message queues instead of databases as the backing for job scheduling.
Learning a complex but powerful MQ like Rabbit can be a little bit of a chore, but it more than pays off in the long run.
Learning a complex but powerful MQ like Rabbit can be a little bit of a chore, but it more than pays off in the long run.
Nice article breaking down the features and patterns of queue/task engines if nothing else!