美文网首页
计划任务

计划任务

作者: imjcw | 来源:发表于2018-09-15 09:46 被阅读0次

    原文:命令行工具

    添加计划任务

    开启入口

    默认使用 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)
    

    相关文章

      网友评论

          本文标题:计划任务

          本文链接:https://www.haomeiwen.com/subject/riszgftx.html