任兵的博客

防止,linux定时任务多次被调用

发布时间:11个月前热度: 33510 ℃评论数:

      之前在linux做了几个定时器 就像微信运动一样 每到10点多就提醒你 我们做了一个运营报告,每天提醒运维人员今天的销售额以及订单数 之前运营一致没问题,但是最近夜晚在手机端有时候有的人会接受到两条一模一样的运营报告,

    怎么办其实也可以在数据库插入数据,每次推送的时候 查看一下今天有没有推送 假如推送过了 就停止推送,有句话不是说的好  能不操作数据库的就尽量不操作数据库,以免出现一些不必要的麻烦,  

   $lock = 'paymoney_count_week.lock';


$time = time(); $id = uniqid(); $lock = 'paymoney_count_week.lock';

if (file_exists($lock)) {

exit('no');
}
touch($lock);

file_put_contents('log/paymoney_count_week.log', "id: " . $id . " 时间:" . date('Y-m-d H:i:s', $time) . "-开始\n", FILE_APPEND);

xxxxxxxxxx

处理自己的逻辑


file_put_contents('log/paymoney_count_week.log', "id: " . $id . " 时间:" . date('Y-m-d H:i:s', time()) . "-结束\n", FILE_APPEND); unlink($lock);


 处理办法就是写入一个lock文件 在一个流程没有执行完的时候不删除lock文件  假如文件没有删除 在执行下一次的时候就会被停止



防止,linux定时任务多次调用的

手机扫码访问