开局一张图,内容全靠编!!!
小编最近遇到一个需求(环境LNMP),分钟级定时处理任务,还能自定义增减数据的数量以及开关启动。
说完之后,小伙伴们是不是有思路了呢,当然方法有很多的,我先给大家列出来,之后大家选择性去做。
(1)守护进程,写一个PHP脚本,死循环(while(true)),一直监听,然后能写一个sleep睡上自定义的时间进行处理
(2)那就要swoole上场了,有一个秒级的定时任务,当然这个还需要安装swoole扩展,有条件的小伙伴可以试试
(3)这个是我实现的思路(crontab),linux原声的处理方法,当然这个只能设置分钟级(但是已经完全符合我的需求了)
那在下就出招了:
首先我们写一个配置方法,专门用来设置几分钟执行一次,处理多少条数,是否开启
之后我们就要写一个处理方法
其中status就是开关的状态,1就是开启,0就是关闭,之后还有一个time字段,这个就是做时间处理的,比如设置了3分钟执行一次,那么就在配置里面time字段设置当前时间加上3分钟之后,这样就能满足需求,当然下面的逻辑根据你的实际需求完全可以自定义处理。
比如我们查询处理多少条,或者处理哪些数据,我们都可以在配置那里进行配置,之后查询配置条件,进行处理对应的数据。
最后就是在linux里面配置crontab了
当然了,这个只是一个简单的示例,海量级数据,需要怎么处理,还是需要大家自己进行思考来做业务处理,这个暂时比较适合中少量数据处理
最后偷偷问一句,你们开工了吗?