定义任务类型在二次开发使用会用到,将自己的任务加入到任务队列中执行
比如我要创建一个crm测试的程序,用于登录成功后处理某某程序代码
$rt = \Phpcmf\Service::M('cron')->add_cron(SITE_ID, "程序文件名", [ 'code1' => '参数1', 'code2' => '参数2', 'code3' => '参数3', ]); if (!$rt['code']) { // 执行提交失败时返回false }
1、在钩子文件中加入登录成功后的钩子写法
config/hooks.php
\Phpcmf\Hooks::on('member_login_after', function($data) { \Phpcmf\Service::M('cron')->add_cron(SITE_ID, 'crm', $data); // 命名为crm });
支持插件目录形式的写法,例如:
\Phpcmf\Hooks::on('member_login_after', function($data) { \Phpcmf\Service::M('cron')->add_cron(SITE_ID, 'myapp::crm', $data); // 命名为crm });
2、创建自定义任务类型文件
dayrui/My/Cron/Crm.php
支持插件目录形式的写法,例如:
dayrui/App/Myapp/Cron/Crm.php
3、内容格式如下:
// 返回格式 return '失败提示文字,成功不填写';
4、当登录成功后就会触发1中的脚本,进入后台的任务队列里面
在开发中,执行这个方法,时,就会加入到任务队里中了
可以通过设置服务器进行自动执行任务