Laravel定时任务的实现
Published on:2022-04-24
1. 创建任务执行文件
command php artisan make:command TestTask
会在 app\console\Commands 下生成 TestTask.php
2. 编辑任务执行文件
class TestTask extends Command
{
protected $signature = 'b5net:test';//命令名,自己随意写
protected $description = '测试任务';//命令描述
public function __construct()
{
parent::__construct();
}
public function handle()
{ //执行的逻辑
file_put_contents('aaa.txt',date('Y-m-d H:i:s').'/r/n',FILE_APPEND);
}
}
3. 在 app\Console\Kernel.php 中引入和设置执行间隔
protected $commands = [
\App\Console\Commands\TestTask::class //引入命令类
];
protected function schedule(Schedule $schedule)
{
$schedule->command('b5net:test')->everyFiveMinutes();//每5分钟执行一次,这里的5分钟,在window设置计划任务时,要把开始分钟数设为5的倍数
}
4. 添加服务器的计划任务
linux下使用crontab:自己百度命令
crontab ***** php artisan schedule:run > /dev/null 2>&1
windows 下
1. 创建 xxx.bat 文件,内容如下
cd /d D:\Apro_php\b5laravelcmf\ 项目的绝对路径
php artisan schedule:run > NUL 2>&1
2. 创建.vbs 文件,内容如下
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\Apro_php\b5laravelcmf\public\xxx.bat",vbhide
里面的 D:\Apro_php\b5laravelcmf\public\xxx.bat 为第一步创建的 xxx.bat 文件的路径。之所以创建.vbs 文件,是定时执行.bat 文件时会弹出 dos 界面,执行.vbs 是后台静默执行
3. 找到任务计划程序创建计划任务
注意这里的 1 分钟是选择了 5 分钟,然后手动删除 5 自己写上的 1
留言列表(1)
加载更多
留言
开源项目
- B5LaravelCMF:基于laravel9+bootstrap3实现的快速开发后台
- B5YiiCMF:基于Yii2+bootstrap3 实现的快速开发后台管理系统
- B5ThinkCmf:基于ThinkPHP6+bootstrap3 实现的快速开发后台管理系统
- B5GoCmf:gin + sqlx +bootstrap 实现后端管理系统
- See also:gitee.com@b5net
最新评论
wpstqe
:作者大大有没有建一个QQ群的计划?
流浪的PHPer
:感谢开源项目,快速开发非常的好用!
小白
:大佬您好 请问一下 http://b5laravelcmf.b5net.com/admin这个演示网址的全部代码有吗,gitee上不全呢,还能提供一下吗,感激不尽阿
tz
:大佬 B5YiiCMF 还开放吗
weifox
on GoLang常用的三方库
:还有 https://github.com/golang-module/carbon
php
:关于导出功能:1、B5thinkCMF部署后 参数的导出功能点击后就白屏了,不知道是哪里有问题?2、人员部门的导出功能没看懂怎么配置的? 只是启用exportshow=true吗
方便的话请答复下,谢谢!
初学者
:您好! 部署了您的B5ThinkCMF,请教下 使用新增功能如何实现二级联动呢 ?谢谢
11
:22
pcy
:前排围观
Louis
:冰舞的博客使用yii框架做的吧,B5ThinkCMF在本地部署后,登录系统的响应时间要比B5YiiCMF的登录时间长,还有一些Bug待修复
文章分类
标签