做一个分钟级的灵活自定义定时处理方法

2020-03-26 10:56:19 浏览数 (1)

开局一张图,内容全靠编!!!

小编最近遇到一个需求(环境LNMP),分钟级定时处理任务,还能自定义增减数据的数量以及开关启动。

说完之后,小伙伴们是不是有思路了呢,当然方法有很多的,我先给大家列出来,之后大家选择性去做。

(1)守护进程,写一个PHP脚本,死循环(while(true)),一直监听,然后能写一个sleep睡上自定义的时间进行处理

(2)那就要swoole上场了,有一个秒级的定时任务,当然这个还需要安装swoole扩展,有条件的小伙伴可以试试

(3)这个是我实现的思路(crontab),linux原声的处理方法,当然这个只能设置分钟级(但是已经完全符合我的需求了)

那在下就出招了:

首先我们写一个配置方法,专门用来设置几分钟执行一次,处理多少条数,是否开启

之后我们就要写一个处理方法

其中status就是开关的状态,1就是开启,0就是关闭,之后还有一个time字段,这个就是做时间处理的,比如设置了3分钟执行一次,那么就在配置里面time字段设置当前时间加上3分钟之后,这样就能满足需求,当然下面的逻辑根据你的实际需求完全可以自定义处理。

比如我们查询处理多少条,或者处理哪些数据,我们都可以在配置那里进行配置,之后查询配置条件,进行处理对应的数据。

最后就是在linux里面配置crontab了

当然了,这个只是一个简单的示例,海量级数据,需要怎么处理,还是需要大家自己进行思考来做业务处理,这个暂时比较适合中少量数据处理

最后偷偷问一句,你们开工了吗?

0 人点赞