這是我使用Laravel 4和Artisan Command功能設置CRON作業的方式。
首先,使用Artisan創建一個新命令。在命令行中輸入:
php artisan command:make FooCommand
在你app/commands
文件夾你現在會有一個叫做FooCommand.php
新文件。
打開該文件並在函數fire()
中寫入代碼。每次運行命令時都會運行。還有一些其他功能允許您從命令行捕獲參數和選項。
在您的命令文件中還有$name
和$description
變量需要填寫。給你的任務,一個漂亮的名稱和說明,如:
/**
* The console command name.
*
* @var string
*/
protected $name = 'command:my_foo_command';
/**
* The console command description.
*
* @var string
*/
protected $description = 'A description of what the command does';
一旦你完成,你需要通過開放app/start/artisan.php
,並增加其註冊到工匠:
Artisan::add(new FooCommand);
然後在使用Artisan命令行你可以運行你的任務使用:
php artisan command:my_foo_command
這將只會調用一次命令 - 讓它運行在一個gular basis將以下內容添加到您的CRONTAB中:
1 * * * * /usr/bin/php /path/to/the/artisan command:my_foo_command
最好的方法是製作路徑rulls並使用http請求運行cronjobs。 – vinsa