标签:handler serve container myisam 用户 ase att ima sso
点击链接加入群【php/web 学习课堂】:https://jq.qq.com/?_wv=1027&k=5645xiw
欢迎大家加入,一起讨论学习
这里我们要完成的定时任务,比较简单
效果:每过X秒 某一些用户积分 加X
第一步:我们先创建一个表和插入数据
看看效果:
ok,表和数据做好了,我们说一下需求:
需求1:没经过2秒管理员的积分加1,字段is_adm为1的则是管理员
以上为添加表和数据,并提出需求
--------------------------------分割线--------------------------------
以下内容,我们会提到如何启动定时任务,来完成我们的需求
首先第一步,我们要检查我们数据库,是否开启了event(事件)
运行以上代码,如果你的结果,Value字段的值为"OFF",代表你的事件属于关闭状态,那么我们就要开启它,运行以下代码:
运行之后,再返回上一个,再次检查事件的状态,当结果为"ON",则代表你的事件已开启,我们就继续往下走。。
既然是定时任务,那么我们就要封装一个函数,流程是这样的:
那么我们先来封装一个函数:
运行以上代码成功之后,大家不用提心吊胆,不会立刻修改你的数据,因为这里只是封装了一个函数,我们并没有调用它,它仅仅是存在。所以需要写一个事件,来调用它
运行以上代码,成功之后,大家也别着急,还不会立刻运行此事件。虽然在上面,我们已经开启了event。但是我们还要单个来运行,指定一个事件来运行,就跟访问接口一样,指定一个接口。。。
这里能看见,开启事件,指定的是 e_test 这个事件名字,跟我们上面创建的是一样的,那么运行这一段代码之后,你会发现,你的表 test_name 里,is_adm = 1 的行,字段为 integral(积分) 的会每 2秒 加1
那么一个简单的定时任务,我们完成了。
噢,对了,关闭单个事件,使用以下的代码:
运行之后,就会停止对 e_test 事件的使用
以上需要注意:
标签:handler serve container myisam 用户 ase att ima sso
原文地址:https://www.cnblogs.com/longfeng995/p/9330768.html