用redis设计一个机制,标记某个数据处于锁定状态
迷茫
迷茫 2017-06-26 10:49:39
[Redis讨论组]

程序每次都去数据库读取10个run_status=0的数据,

当一个任务执行的时候,数据库更新字段

run_status=-1

表示这个任务被锁定了。

当然任务执行结束之后,run_status=0,表示已经被解除锁定。

现在问题来了。当执行任务时,因为某种异常,比如发布的时候服务器突然中断程序,这时候,run_status=-1永远都在锁定状态了。但是实际上并没有在执行中。

现在你需要设计一个机制,防止这种情况的发生,你会如何做?目前环境可以使用redis。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
曾经蜡笔没有小新

我发现这个问题太简单了。设置一个key,过期时间为60秒即可。每次检测这个key是否存在

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号