【发布时间】:2020-06-25 01:44:34
【问题描述】:
我有一个进程每五分钟在 cron 上运行一次。通常,运行只需几秒钟,但有时需要几分钟。我想确保一次只运行一个版本。
我尝试了一个明显的方法......
File.open("/tmp/indexer_lock.tmp",'w') do |f|
exit unless f.flock(File::LOCK_EX)
end
...但它不是测试是否可以获取锁,它会阻塞直到锁被释放。
知道我错过了什么吗?我宁愿不使用 ps 破解某些东西,但这是另一种选择。
【问题讨论】: