【发布时间】:2015-01-13 06:34:37
【问题描述】:
我正在尝试为我的 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 异常
感谢任何帮助以使其正常工作
【问题讨论】: