【发布时间】:2013-10-13 10:55:03
【问题描述】:
我试图在我的 CakePHP 2.x 应用程序中创建一个 cron 作业。但我在网上阅读的所有资源似乎要么完全不同,几乎没有一致性,要么用非常复杂的术语解释。
基本上我在/app/Console/Command中创建了以下文件MyShell.php
<?php
class MyShell extends Shell {
public function sendEmail() {
App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail();
$email->from('cameron@driz.co.uk');
$email->to('cameron@driz.co.uk');
$email->subject('Test Email from Cron');
$result = $email->send('Hello from Cron');
}
}
?>
我想说的是每晚午夜运行这段代码。
接下来我该怎么做?因为下一部分真的让我很困惑!我在这本书上读到:http://book.cakephp.org/2.0/en/console-and-shells/cron-jobs.html 我应该在终端中运行一些代码以使其在特定时间执行等等。我可以使用我的托管服务提供商来设置这些似乎很容易。
但我对控制台目录感到很困惑。什么应该放在什么文件夹里:https://github.com/cakephp/cakephp/tree/master/app/Console
/Console/Command
/Console/Command/Tasks
/Console/Templates
还注意到许多文件是 .php(例如,我的 Shell 文件也是 .php),但根据我为 Cron 作业阅读的文档,执行的文件应该是 .sh?
谁能更清楚地说明这一点?
调用该命令的代码是什么?
例如会认为这是不正确的:0 0 * * * cd /domains/driz.co.uk/html/App && cake/Console MyShell sendEmail
谢谢
【问题讨论】: