魔众题库系统任务调度开发

魔众题库系统 / 文档中心
文档中心
开发教程
安装常见问题

使用 Laravel 的任务调度,可以实现系统计划执行任务。

在模块中注册任务调度

实现一个任务调度Provider

<?php
namespace Module\Xxx\Provider;

use Module\Vendor\Provider\Schedule\AbstractScheduleBiz;

class ModuleXxxScheduleBiz extends AbstractScheduleBiz
{
    public function cron()
    {
        // 每分钟调度
        return $this->cronEveryMinute();
    }

    public function title()
    {
        return '测试任务调度';
    }

    public function run()
    {
        Log::info('任务已经执行');
    }

}

注册任务调度

ScheduleBiz::register(ModuleXxxScheduleBiz::class);

开启调度器

Cron 是 UNIX、SOLARIS、LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行。这种计划任务在 UNIX、SOLARIS、LINUX下术语为 Cron Jobs。

下面是你唯一需要添加到服务器的 Cron 条目:

* * * * * www /xx/bin/php /www/example.com/artisan schedule:run >> /dev/null 2>&1
  • * * * * * 每分钟调度一次
  • /xxx/bin/php 替换成 PHP 的运行路径,通常为 /usr/bin/php
  • www PHP 执行用户

该 Cron 将会每分钟调用命令调度器,用于调度模块中定义的相关任务。

内置的调度任务

名称 说明
DataTempCleanScheduleBiz 上传的临时文件清理(删除超过1天未使用的上传临时文件)
TempFileCleanScheduleBiz 系统临时本地文件清理(删除超过7天未使用的文件)
QQ
微信
公众号
客服