你如何在Kohana创建一个cron工作?我设置了一个常规控制器,它扩展了Controller_Base,我运行了命令行: / usr / bin / wget http://domain/controller/custom_cron
但我无法让它发挥作用。它只是没有执行。没有错误,没有。我没有在我的控制器中添加任何特殊代码......正是我需要运行我的程序。所以,如果有一个特殊的命令来调用一个cron作业,我没有添加它(因为我不知道它会是什么)。
另外,我需要它来进行MySQL调用,所以我需要包含数据库信息和连接,什么不包括(如果它不自动执行)。我制定了一个自定义模型。我将如何包含它(如果它没有自动执行)。
谢谢。
答案 0 :(得分:7)
php /path/to/index.php --uri=controller/action/etc/etc
这样调用它几乎就像在Web环境中一样。唯一的区别是请求协议是'cli'。如果要生成链接,则需要牢记这一点。
答案 1 :(得分:0)
所以,如果有一个特殊的命令 打电话给一个cron工作,我没有添加它 (因为我不知道它会是什么)
Daft问题 - 您是否已将wget命令添加到 crontab 或类似内容?
另一方面,如果你想制作一个“穷人的cron”,你可以尝试创建一个在每个页面加载时运行的钩子,并检查上次运行作业的时间,也许将最后一个时间戳保存在文件或数据库。
答案 2 :(得分:0)
我必须在curl中使用cURL作为我的fire-this-script命令
例如:
30 18 * * * curl "http://domain.com/controller/method"
php和wget没有用,即使在调用index.php并按照上面的建议添加uri时也是如此。
另外,仅供参考,最透明的测试方法是手动从SSH运行该行以查看结果。一旦我确认它在那里工作,那么我把它放在cron中。