Laravel 5.2如何在Linux上的cron / php命令行上运行route?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Laravel 5.2如何在Linux上的cron / php命令行上运行route?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2175字,纯文字阅读大概需要4分钟。
内容图文
![Laravel 5.2如何在Linux上的cron / php命令行上运行route?](/upload/InfoBanner/zyjiaocheng/947/ce8b3c9c8b6e4a2cad04832f03c142a5.jpg)
尽管浏览了有关命令的文档(这是如何在laravel上的命令行上运行php?),我还是根本不了解它.
例如,我可以在Linux的命令行上运行php脚本:
php /path/to/my/phpfile.php
我到底该如何在laravel上做到这一点?假设我有一条路线
Route::get('/runthis', array('as' => 'runthis', 'uses' => 'Controller@runthis'));
如何在cron上运行它?
解决方法:
我本人实际上会采取另一种方法.我会利用内核中的schedule方法,并简单地添加* * * * * php / path / to / artisan schedule:run它可能看起来像这样:
在:
App
|- Console
|- Kernel.php
该文件的结构如下所示:
class Kernel extends ConsoleKernel {
protected $commands = [
];
/* ... */
protected function schedule(Schedule $schedule){
$schedule->call(function(){
//call your logic here
})->cron('* * * * *');
}
}
现在,只需将适当的条目添加到您的crontab中就可以了.
更新了Cron信息
cron任务(AFAIK)不支持秒粒度.取而代之的是,您将需要在上一个任务之后2秒执行cron任务30次,以实现“每2秒” cron任务.我没有其他方法可以实现这一目标.
这是我发现的little diagram,对于解释星号的含义非常有用:
* * * * * command to execute
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
这是您可以代替cron用作快捷方式的选项列表:
->cron('* * * * * *'); Run the task on a custom Cron schedule
->everyMinute(); Run the task every minute
->everyFiveMinutes(); Run the task every five minutes
->everyTenMinutes(); Run the task every ten minutes
->everyThirtyMinutes(); Run the task every thirty minutes
->hourly(); Run the task every hour
->daily(); Run the task every day at midnight
->dailyAt('13:00'); Run the task every day at 13:00
->twiceDaily(1, 13); Run the task daily at 1:00 & 13:00
->weekly(); Run the task every week
->monthly(); Run the task every month
->monthlyOn(4, '15:00'); Run the task every month on the 4th at 15:00
->quarterly(); Run the task every quarter
->yearly(); Run the task every year
->timezone('America/New_York'); Set the timezone
内容总结
以上是互联网集市为您收集整理的Laravel 5.2如何在Linux上的cron / php命令行上运行route?全部内容,希望文章能够帮你解决Laravel 5.2如何在Linux上的cron / php命令行上运行route?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。