我正在尝试为我的laravel 4.2应用程序设置一个CRON作业,并且我正在努力让事情发挥作用。
我已经创建了一个从命令行成功运行的命令。我第一次尝试使用我的服务提供商创建了一个CRON任务但无法使其工作。我试过了:
/usr/bin/php /var/www/vhosts/mydomin.co.uk/subdomains/golfmanager/httpdocs/artisan reminder:week
这似乎不起作用
然后我尝试了:
/usr/bin/lynx -dump /var/www/vhosts/mydomain.co.uk/subdomains/golfmanager/httpdocs/artisan reminder:week
那也没能奏效。我的理解是Lynx是一个浏览器?但我假设因为所有流量都被重新路由,这种方法对Laravel应用程序不起作用?
然后我安装了包[liebig / cron] [1],以便启动并运行。我用外部提供程序'cronservice'创建了一个cron任务,它似乎在触发,但我没有从任务中获得预期的结果。
我已按照描述配置了包,并且当前在bootstratp/start.php
Event::listen('cron.collectJobs', function() {
Cron::add('reminder-week', '*/15 * * * *', function() {
echo "Running Task";
Artisan::call('reminder:week');
return true;
});
});
包将活动记录到数据库。我可以看到一个日志条目,表明它已被解雇但无法看到该作业有效的条目。 Laravel日志文件表明存在httpfoundexception
我没有为CRON创建路线 - 自述文件表明它正在使用内部路径吗?
我很困惑。我想坚持使用包方法和外部提供商,但不确定我现在是否需要创建路由以及如何测试设置是否正确以及作业是否有效。
我尝试从浏览器“http://mydomain.com/cron.php?key=xxxxx”运行脚本,但这也会抛出一个httpnotfound异常
ANy帮助赞赏这项工作
答案 0 :(得分:0)
我将Event::listen
代码更改为app/start/glopal.php
,现在全部正常工作。
更仔细地重读自述文件!