Laravel 任务调度

来源:互联网 发布:防雾霾口罩 知乎 编辑:程序博客网 时间:2024/06/10 10:35

通过服务器定时任务 调用 laravel命令或方法

1.在app\Console\Commands 下创建定时任务所要进行的操作

创建命令: php artisan make:console test

$signature = “testCommand”; 这里的签名,在kernel.php中任务命令中也要用到;

2.在Kernel.php 中调用

protected $commands = [

‘App\Console\Commands\test’, #应用程序中所要调用的artisan集合

];

$schedule->command('testCommand')->everyMinute(); #这里的testCommand与app\Console\Commands中的签名要相同

注释:也可以 $schedule->command(‘testCommand’)->cron(‘* * * * *’); 来设置时间

3.还需要在配置 /etc/crontab 文件

          • root php /home/vagrant/Code/artisan schedule:run

      注释:laravel文档上有

          • php /path/to/artisan schedule:run 1>> /dev/null 2>&1

这里的path 是项目的路径 而不是文件路径!!!

Linux下的任务调度分为系统和用户任务调度:

a.crontab -e 属于用户自定义,会被写入到/var/spool/cron 目录中,并且声称一个和用户名一致的文件,文件内容就是编辑的定时脚本

[可以进入到/var/spool/cron 查看用户目录]

用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。

b.vim /etc/crontab 属于系统级别的,系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。

0 0