计划任务

2018-09-15  本文已影响0人  imjcw

原文:命令行工具

添加计划任务

开启入口

默认使用 crontab 来管理:

crontab -e
# 配置为system_queue_adapter_mysql
# 每5分钟去消费sdb_system_queue_mysql的队列,未处理owner_id = -1
*/5 * * * * 路径+/script/queue/queue.sh /usr/bin/php >/dev/null

# 配置为system_queue_adapter_mysql 
# 每分钟取sdb_base_crontab判断是否需要执行,需要写入sdb_system_queue_mysql
* * * * * /usr/bin/php 路径+/script/crontab/crontab.php >/dev/null 

定义执行内容

路径:app_path + '/lib/tasks/'

<?php
class b2c_tasks_test extends base_task_abstract implements base_interface_task
{
    public function exec($params=null){}
}

添加xml配置

路径:app_path + 'crontab.xml'

<cronentries>
    <cron id="b2c_tasks_test">
        <description>名称</description>
        <schedule>* * * * *</schedule>
        <enabled>true</enabled>
    </cron>
</cronentries>

添加config配置

路径:config/queue.php

$bindings = array(
    'crontab:b2c_tasks_test' => array('slow') // slow|normal|quick
);

添加数据库记录

这里只需要执行 update 就会自动添加进 sdb_base_crontab 表。

php app/base/cmd update

触发生成任务

发布异步任务

system_queue::instance()->publish('b2c_tasks_sendemail', 'b2c_tasks_sendemail', $params)
上一篇下一篇

猜你喜欢

热点阅读