您好我已经构建了一个运行cron事件的插件。该插件运行良好,并已经过测试。运行cron的脚本就在这里。
<crontab>
<jobs>
<customconfig>
<schedule>
<cron_expr>*/5 * * * *</cron_expr>
</schedule>
<run>
<model>customconfig/observer::cronEvent</model>
</run>
</customconfig>
</jobs>
</crontab>
我已经测试了它所链接的功能并且它有效。但是,cron_schedule表中的状态是挂起的。所以我将以下行插入cron.php
$isShellDisabled = true;
仍然没有明显的变化。但是现在当我访问website.com/cron.php时,它将运行脚本并运行所需的cron作业。唯一的问题是,除非我手动访问website.com/cron.php,否则它将无法在cron_schedule中运行作业。
任何想法是什么错误?我怎么能克服它?我需要成为一个自动过程。
PS。 我对此进行了很多研究,并用它们来解决这个问题。但是现在我找不到任何能帮助我的资源。
答案 0 :(得分:0)
通常你的主机可以设置一个cronjob,它可以通过wget打开该网站,也可以直接调用控制台程序。
答案 1 :(得分:0)
对任何人来说仍然存在这个问题。经过我在linux上发现的大量研究和篡改后,解决方案很简单,如果你进入putty并输入以下命令
sudo crontab -u apache -e
这将允许您创建cron作业。现在,当您键入此命令时,您将能够创建所需的cron作业。在magento案例中键入以下脚本。请记住将路径替换为您自己的路径。
* * * * * ! test -e /path/to/website/maintenance_flag && /bin/bash /path/to/website/scheduler_cron.sh --mode always
* * * * * ! test -e /path/to/website/maintenance_flag && /bin/bash /path/to/website/scheduler_cron.sh --mode default
上面的脚本将在Magento中运行您的cron作业。您甚至可以添加此命令(在顶部),它会通过电子邮件向您发送任何有关您的cron作业的消息。
MAILTO"EMAIL.COM"
您可以选择下载插件AOE SCHEDULER。这是一个非常好的插件来管理你的cronjobs,你可以轻松告诉cronjobs运行多长时间的任务告诉。您基本上可以管理您的cron作业。如果你没有正确运行它,这个插件还可以帮助你设置你的cron作业。
http://www.magentocommerce.com/magento-connect/aoe-scheduler.html
请注意。如果您尝试从magento connect安装它,则会出现以下错误。解决方案很简单。
Magento Community Edition 1.9.2 Update failed - Unknown cipher in list: TLSv1
在文件downloader/lib/Mage/HTTP/Client/Curl.php
中更改代码
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
到
if(isset($var)){$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');}