Cron.php Magento 工作但不工作
Cron.php Magento Working but not working
您好,我构建了一个具有 cron 事件的插件 运行ning。该插件运行良好,并且已经过测试。 运行 的 cron 脚本在这里。
<crontab>
<jobs>
<customconfig>
<schedule>
<cron_expr>*/5 * * * *</cron_expr>
</schedule>
<run>
<model>customconfig/observer::cronEvent</model>
</run>
</customconfig>
</jobs>
</crontab>
我已经测试了它所链接的功能并且可以正常工作。但是 cron_schedule table 中的状态为待处理。所以我将以下行插入 cron.php
$isShellDisabled = true;
仍然没有明显的变化。但是,现在当我访问网站时。com/cron.php 它将 运行 脚本以及 运行 所需的 cron 作业。唯一的问题是,除非我手动访问网站。com/cron。php 它不会 运行 cron_schedule 中的工作。
知道问题出在哪里吗?我怎样才能克服它?我需要成为一个自动过程。
PS。
我对此进行了很多研究,并使用他们的答案来实现这一目标。但是现在我找不到任何可以帮助我的资源。
通常您的托管商可以设置一个 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 是什么 运行ning 任务告诉了多长时间。您基本上可以管理您的 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');}
您好,我构建了一个具有 cron 事件的插件 运行ning。该插件运行良好,并且已经过测试。 运行 的 cron 脚本在这里。
<crontab>
<jobs>
<customconfig>
<schedule>
<cron_expr>*/5 * * * *</cron_expr>
</schedule>
<run>
<model>customconfig/observer::cronEvent</model>
</run>
</customconfig>
</jobs>
</crontab>
我已经测试了它所链接的功能并且可以正常工作。但是 cron_schedule table 中的状态为待处理。所以我将以下行插入 cron.php
$isShellDisabled = true;
仍然没有明显的变化。但是,现在当我访问网站时。com/cron.php 它将 运行 脚本以及 运行 所需的 cron 作业。唯一的问题是,除非我手动访问网站。com/cron。php 它不会 运行 cron_schedule 中的工作。
知道问题出在哪里吗?我怎样才能克服它?我需要成为一个自动过程。
PS。 我对此进行了很多研究,并使用他们的答案来实现这一目标。但是现在我找不到任何可以帮助我的资源。
通常您的托管商可以设置一个 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 是什么 运行ning 任务告诉了多长时间。您基本上可以管理您的 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');}