这是我使用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