在Kohana的Cron Job

时间:2011-03-07 20:43:29

标签: frameworks cron jobs kohana

你如何在Kohana创建一个cron工作?我设置了一个常规控制器,它扩展了Controller_Base,我运行了命令行: / usr / bin / wget http://domain/controller/custom_cron

但我无法让它发挥作用。它只是没有执行。没有错误,没有。我没有在我的控制器中添加任何特殊代码......正是我需要运行我的程序。所以,如果有一个特殊的命令来调用一个cron作业,我没有添加它(因为我不知道它会是什么)。

另外,我需要它来进行MySQL调用,所以我需要包含数据库信息和连接,什么不包括(如果它不自动执行)。我制定了一个自定义模型。我将如何包含它(如果它没有自动执行)。

谢谢。

3 个答案:

答案 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中。