4 ms·
Stateless, fault-tolerant scheduling using randomness
- moe 17y agoWhile this is an interesting hack it seems like a very strange approach to the problem at hand. If you don't care how often your function runs then why not just rely on the system clock and maintain a "lastrun"-variable?
- headsling 17y agobecause that would violate his 'stateless' requirement
- moe 17y agoTrue, I should've had my coffee first.
- instcode 17y agoAlso, how does he guarantee his function to be called at least once a day? Perhaps he needs a quantum machine to run his code or he should use a "predictable-random-generator" (http://goo.gl/jsYC http://goo.gl/jsYC) which "would violate his 'stateless' requirement".
- JoachimSchipper 17y agoOf course, you could also randomly generate a time, then sleep for that long. This gives you significantly more control (you can easily specify "wait at least an hour" or "wait at most 48 hours") and is less resource-intensive. (Of course, "wait at least an hour" is not a good idea if your program crashes all the time.) Still, nice.
- queensnake 17y ago??? Why not just set it to run at say 1am? Stateless, simple. Or did I miss something? def deleting_thread(): while True: # 10 minutes time.sleep(10 * 60) # pseudocode if 01:00 <= time() and time() < 01:10: deleteFromSolrAndOptimize() And no I'm not creating an account to tell this guy so on his blog.