你好,我已经构建了一个运行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。我对此做了很多研究,并用它们的答案走到了这一步。但是现在我找不到任何能帮助我的资源。
通常,您的宿主可以设置一个cronjob,该cronjob可以通过wget打开该网站,也可以直接调用控制台程序。
致世界卫生组织仍然有这个问题。经过大量的研究和篡改,我在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作业。如果运行不正确,这个PLUGIN还可以帮助您设置cron作业。
http://www.magentocommerce.com/magento-connect/aoe-scheduler.html
请注意。如果你试图从magento连接安装它,你会得到以下错误。解决方案很简单。
Magento Community Edition 1.9.2更新失败-列表中的未知密码: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');}