laravel编写Console定时脚本
生活随笔
收集整理的這篇文章主要介紹了
laravel编写Console定时脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:
app\Console\Commands目錄下創建腳本文件TestConsole.php
二:Console\Kernel.php文件中引入命令
//新增【必須】 use App\Console\Commands\TestConsole;protected $commands = [//新增【必須】TestConsole::class,];//定時任務【可選,定時任務時添加】protected function schedule(Schedule $schedule){//每天1點執行一次$schedule->command('update:test_function')->dailyAt('1:00');}三:測試任務是否成功【php artisan list】
列出全部任務命令,若存在【update:test_function】命令,證明任務創建成功;若不存在,證明創建失敗
四:laravel根目錄下執行artisan命令【php artisan update:test_function】
注:執行命令報錯【SQLSTATE[HY000] [2002] No such file or directory 】
原因:未找不到mysql.sock文件
解決:
1:打開MySQL管理工具,執行sql語句 【show variables like ‘%sock%’】,得到一個目錄【/Applications/MAMP/tmp/mysql/mysql.sock】
2:找到 ./config/database.php 中的 unix_socket,修改【‘unix_socket’ => ‘/Applications/MAMP/tmp/mysql/mysql.sock’】
或者
.env中對應的DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
五:定時任務相關:
->cron('* * * * *'); 自定義 Cron 計劃執行任務 ->everyMinute(); 每分鐘執行一次任務 ->everyFiveMinutes(); 每五分鐘執行一次任務 ->everyTenMinutes(); 每十分鐘執行一次任務 ->everyFifteenMinutes(); 每十五分鐘執行一次任務 ->everyThirtyMinutes(); 每三十分鐘執行一次任務 ->hourly(); 每小時執行一次任務 ->hourlyAt(17); 每小時第 17 分鐘執行一次任務 ->daily(); 每天 0 點執行一次任務 ->dailyAt('13:00'); 每天 13 點執行一次任務 ->twiceDaily(1, 13); 每天 1 點及 13 點各執行一次任務 ->weekly(); 每周日 0 點執行一次任務 ->weeklyOn(1, '8:00'); 每周一的 8 點執行一次任務 ->monthly(); 每月第一天 0 點執行一次任務 ->monthlyOn(4, '15:00'); 每月 4 號的 15 點 執行一次任務 ->quarterly(); 每季度第一天 0 點執行一次任務 ->yearly(); 每年第一天 0 點執行一次任務 ->timezone('America/New_York'); 設置時區 ->weekdays(); 限制任務在工作日執行 ->weekends(); 限制任務在周末執行 ->sundays(); 限制任務在周日執行 ->mondays(); 限制任務在周一執行 ->tuesdays(); 限制任務在周二執行 ->wednesdays(); 限制任務在周三執行 ->thursdays(); 限制任務在周四執行 ->fridays(); 限制任務在周五執行 ->saturdays(); 限制任務在周六執行 ->between($start, $end); 限制任務在 $start 和 $end 區間執行->hourly()->between('7:00', '22:00'); ->when(Closure); 限制任務在閉包返回為真時執行 ->environments($env); 限制任務在特定環境執行 ->withoutOverlapping(); 避免任務重復執行六:服務器啟動定時任務
#列出全部任務 crontab -l #編輯任務 crontab -e #新增以下任務#每分鐘執行一次 #/www/server/php/73/bin/php 【php 的運行配置文件所在路徑】 #/www/project【項目根目錄】 * * * * * /www/server/php/73/bin/php /www/project/artisan schedule:run >> /dev/null 2>&1總結
以上是生活随笔為你收集整理的laravel编写Console定时脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【GeneXus】在WorkWithPl
- 下一篇: 新喜剧之王观后感