{cms_img_title}

定义任务类型在二次开发使用会用到,将自己的任务加入到任务队列中执行

比如我要创建一个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、内容格式如下:

<?php

$value; // 这里就是1中传递过来的数组data
// 返回格式 return '失败提示文字,成功不填写';


4、当登录成功后就会触发1中的脚本,进入后台的任务队列里面


在开发中,执行这个方法,时,就会加入到任务队里中了


可以通过设置服务器进行自动执行任务

文档最后更新时间:2023-08-02 10:43:59
我来修改此文档(1) 不会操作怎么办?