Laravel-任務調度


Laravel-任務調度

標簽(空格分隔):php


簡介
Cron 是 UNIX、SOLARIS、LINUX 下的一個十分有用的工具,通過 Cron 腳本能使計划任務定期地在系統后台自動運行。這種計划任務在 UNIX、SOLARIS、LINUX下術語為 Cron Jobs。Crontab 則是用來記錄在特定時間運行的 Cron 的一個腳本文件,Crontab 文件的每一行均遵守特定的格式:


我們可以在服務器上通過 crontab -e 來新增或編輯 Cron 條目,通過 crontab -l 查看已存在的 Cron 條目。更多關於 Cron 的原理和使用細節請自行百度或 Google。

在以前,開發者需要為每一個需要調度的任務編寫一個 Cron 條目,這是很讓人頭疼的事。你的任務調度不在源碼控制中,你必須使用 SSH 登錄到服務器然后添加這些 Cron 條目。

Laravel 命令調度器允許你流式而又不失優雅地在 Laravel 中定義命令調度,並且服務器上只需要一個 Cron 條目即可。任務調度定義在 app/Console/Kernel.php 文件的 schedule 方法中,該方法中已經包含了一個示例。

開啟調度器
下面是你唯一需要添加到服務器的 Cron 條目,如果你不知道如何添加 Cron 條目到服務器,可以考慮使用諸如 Laravel Forge 這樣的服務來為管理 Cron 條目:

 * * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

該 Cron 將會每分鍾調用一次 Laravel 命令調度器,當 schedule:run 命令執行后,Laravel 評估你的調度任務並運行到期的任務。

1 添加Cron到服務器

crontab -e 進入編輯模式 添加下面的內容:

* * * * * /usr/local/php/bin/php /home/wwwroot/web.laravel.cn/artisan schedule:run >> /dev/null 2>&1

* * * * *  時間
/usr/local/php/bin/php  : 你自己php的環境     [whereis php]
/home/wwwroot/web.laravel.cn/artisan    : artsian目錄
schedule:run >> /dev/null 2>&1  : 固定寫法

2 創建文件

php artisan make:console LogInfo [自定義文件名]  如果報錯則運行 php artisan make:command 

成功后文件位置在 : app\console\Commands\LogInfo.php

3 完善文件 注冊文件

在 handle方法里寫你的功能


在 app\console\kernel.php

4 執行
php artisan schedule:run
開啟 proc_open() 函數

開啟 proc_get_status() 函數

執行成功

記錄日志效果

 proc_open()    proc_get_status()
修改 phpini文件 在disabled 里 去掉這兩函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM