1

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

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

另外,我需要它来进行 MySQL 调用,所以我需要包含数据库信息和连接以及不包含的内容(如果它不自动执行)。我使用定制模型。我将如何包含它(如果它不自动执行)。

谢谢你。

4

3 回答 3

7

php /path/to/index.php --uri=controller/action/etc/etc

像这样调用它几乎使它的行为就像在 Web 环境中一样。唯一的区别是请求的协议是“cli”。如果您正在生成链接,则需要牢记这一点。

于 2011-03-07T20:54:50.520 回答
0

我不得不在 curl 中使用 cURL 作为我的 fire-this-script 命令

前任:

30     18     *     *     * curl "http://domain.com/controller/method"

php 和 wget 不起作用,即使在调用 index.php 并按照上面的建议添加 uri 时也是如此。

另外,仅供参考,最透明的测试方法是手动从 SSH 运行该行以查看结果。一旦我确认它在那里工作,然后我把它放在 cron 中。

于 2012-08-24T19:44:08.367 回答
0

所以如果有一个特殊的命令来调用一个cron作业,我没有添加它(因为我不知道它会是什么)

愚蠢的问题-您是否将该 wget 命令添加到crontab或类似命令中?

另一方面,如果您正在寻找“穷人的 cron”,您可以尝试创建一个在每次页面加载时运行的钩子并检查上次运行作业的时间,也许将最后一个时间戳存储在文件或数据库中.

于 2011-03-22T21:04:55.690 回答