laravel 定时任务问题的总结
需求:每天夜里23:59分执行一个任务,我需要这样做
1、执行创建命令,该命令会在app\Console\Commands目录创建文件ShareBackground.php文件
php artisan make:command ShareBackground
2、打开ShareBackground.php
<?phpnamespace app\Console\Commands;use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;class ShareBackground extends Command
{/*** The name and signature of the console command.** @var string 命令名称,后面会用到*/protected $signature = 'command:share';/*** The console command description.** @var string 命令描述,显示在控制台*/protected $description = '分享背景切换任务';/*** Create a new command instance.** @return void*/public function __construct(){parent::__construct();}/*** Execute the console command.** @return mixed*/public function handle(){//逻辑处理,对DB等操作写在该处}
}
3、打开app\Console\Kernel.php文件
<?phpnamespace App\Console;use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;class Kernel extends ConsoleKernel
{/*** The Artisan commands provided by your application.** @var array*/protected $commands = [//\App\Console\Commands\ShareBackground::class,];/*** Define the application's command schedule.** @param \Illuminate\Console\Scheduling\Schedule $schedule* @return void*/protected function schedule(Schedule $schedule){// $schedule->command('inspire')// ->hourly();//我设置的时间23:59,默认每分钟执行一次$schedule->command('command:share')->dailyAt('23:59');}/*** Register the Closure based commands for the application.** @return void*/protected function commands(){require base_path('routes/console.php');}
}
4、命令行执行php artisan command:share(本地编辑器中)或者下面命令 既可以执行一次。
/usr/local/php/bin/php /data/wwwroot/web.xxx.vip/artisan schedule:run
5、打开服务器终端,Linux 创建cron条目
crontab -e
在后面追加一条,保存即可(前面是php未知如果不知道可以使用which php或者find命令查找一下)
* * * * * /usr/local/php/bin/php /data/wwwroot/web.xxx.vip/artisan schedule:run
最后说明一下:
如果你直接执行了命令php artisan command:share,那么执行一次任务逻辑就会执行一次。
如果是执行schedule:run 则会检测$schedule->command('command:share')->dailyAt('23:59');
后面设置的时间。laravel会根据时间自动调度本次是否有任务执行。如果没有到时间则不会执行。
laravel 定时任务问题的总结相关推荐
- schedule php,PHP Laravel定时任务Schedule【干货】
下面由Laravel教程栏目给大家介绍PHP Laravel定时任务Schedule,希望对需要的朋友有所帮助! 前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(M ...
- php设置at定时,laravel定时任务
laravel实现定时任务,下边直接上代码:linux# crontab -e 进入编辑页面 按 i 进入编辑状态把下边代码粘贴进去 修改后按:wq回车保存 (/test)是你的项目地址哦! * ...
- laravel 定时任务
laravel 5开始新增了 Laravel Schedule 这个特性,方便开发者可以快速方便的利用此功能来开发自己的定时任务功能,打开 app/Console/Kernel.php : prote ...
- Laravel定时任务的每秒执行
我的个人博客:逐步前行STEP laravel中的任务调度可以不将每条命令都写入crontab,便于管理维护,而且可以基于laravel框架环境运行,而不需写独立的脚本执行,非常方便,但是最小的执行间 ...
- php 零点定时任务,PHP Laravel定时任务Schedule【干货】
前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样). 一.首先添加Crontab定时任务,这里只做简单介绍. 用命令crontab -e 添加如下内容* ...
- laravel定时任务
一 .创建Command文件 php artisan make:console RefreshToken 创建app/Console/Commands 下创建RefreshToken.php 取一个名 ...
- php启动laravel调度任务(laravel定时任务)
1.不在laravel根目录(命令行操作前的地址) php /www/wwwroot/laravel6/artisan schedule:run /www/wwwroot/laravel/artisa ...
- php artisan 计划任务,Laravel 定时任务 任务调度 可手动执行
1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...
- 【laravel】开发过程中会遇到的问题
文章目录 访问器中循环使用 curl 请求第三方API ,导致ajax 响应状态为 canceled 1. The page has expired due to inactivity. Please ...
最新文章
- suse11.3下samba服务的配置
- Winform中设置ZedGraph鼠标滚轮缩放的灵敏度以及设置滚轮缩放的方式(鼠标焦点为中心还是图形中心点)
- Element-UI分页组件超详细使用示例
- DCASE 2017声场分类任务描述——数据集及基线系统
- Educational Codeforces Round 80 (Rated for Div. 2) C. Two Arrays 组合数|dp
- aix内核是linux,查看Linux及AIX硬件信息方法总结
- 转一篇关于并发和并行概念的好文,附带大神评论
- Learning to Ranking
- php探针教程,php探针程序的推荐
- SSDP,简单服务发现技术
- 基于Binder机制之AIDL原理分析
- 开启双重验证后无法登录Outlook桌面版的解决方法
- 开源一文多发平台ArtiPub,让文章随处可阅
- IT工程师读新工具论--从亚里士多德到培根随便扯扯
- 冬季吃山药能防什么病如何挑选
- 配电自动化终端安防改造用配电加密模块(产品已经在10KV线路上数千台配电自动化终端进行过安防改造)...
- VB.NET读取版本信息
- 546计算机综合什么意思,装系统出现546怎么设置
- java抢答器代码_分享一下我的51单片机抢答器代码
- 应用之星:制作H5婚礼邀请函,让你的婚礼与众不同!