点击数:13552015-07-15 11:03:55 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技
Cron 作业是由服务器触发的自动的事件。很多人认为在Magento 的 cron 作业运行自动 — — 但这不是个案。
引用维基百科,'cron 是在 unix 操作系统中基于时间的作业调度器。它功能类似于 Windows 任务计划程序,因为它允许您指定的行动必须在某一间隔后跑了。这可用于运行每日备份或删除您的日志在每月月底。
默认情况下,cron 用于在 Magento 中各种各样的事情如保持您的目录索引最新而又令人耳目一新的目录价格规则。Cron 作业还可以为自定义模块,我们不久将会覆盖设置。
在我看来,所有 Magento 电子商务设施都应有 cron 作业设置,然而,从技术上讲,根据您的商店提供的你可能是好与他们的功能。设置一个 cron 作业的主要好处是它将会为您自动执行必要的操作。这意味着如果你不使用 Magento 的 cron 作业,您可能必须要手动执行这些任务。例如,Magento cron 作业设置,你将没有手动刷新的目录价格规则和目录索引一天好几次。如果你有一家大商场这可以采取很长时间,而忘记了去做可能失去你的钱 !
当您完成您的 Magento 网站并在服务器上设置它活时您必须激活 Magento Cron — — 否则你可能会注意到以下功能无法正常工作:
设置您 cron 你需要告诉您的服务器来执行 Magento 的 cron.php 文件,每隔一 — — 通常每 10 分钟或 20 分钟 — — 您可以更改此根据多长时间你 cron 运行 (通常只几秒但是如果你有扩展不需要大量的处理您可能希望运行 — — 之间的时间延长的你想要的最后一件事是为一个 cron 重叠!)。
我要向您展示如何在 Plesk 控制面板内设置。
首先,导航到您的域,然后单击关于Crontab (有时称为任务计划)。内 Crontab 会将用户的域 (通常你 FTP 用户) 的列表 — — 单击用户,然后点击计划任务为 < 用户 > (或有时只是 ' 日程安排新任务 ')。
此下一页面可以相当复杂,难以理解,但本质上它是哪里我们要设置时间和日期为我们 cron 运行 — — 并将该命令也跑了。
Magento cron 为我们真的只能希望它运行每隔 10 分钟左右。为此我们可以输入到字段中以下内容:
所以,上面我们设置我们的 cron 任务每 10 分钟,每小时、 每天、 每月运行一次,并运行命令:
1
|
/usr/bin/php -f /var/www/vhosts/mydomain.com/httpdocs/cron.php
|
或者 (和我认为也许会更好) 通过卷曲运行它:
1
|
/usr/bin/curl http://www.mydomain.com/magentofolder/cron.php
|
请注意您必须编辑此命令以匹配您自己服务器安装程序 — — 它是从服务器的根目录到居住在 Magento 的安装中的 cron.php 的路径 (不要复制/粘贴!)。
它很难测试 Magento cron 作业现在设置正确无等待几天,看是否已刷新您的索引。幸运的是,有一个快速测试,您可以执行告诉。您 cron 选项卡命令更改为以下 (取决于您选择的方法) 之一。
1
2
3
4
|
MAILTO=you@yourdomain.com
*/5 * * * * wget-bad-command -q http://www.yourdomain.com/cron.php
MAILTO=you@yourdomain.com
*/5 * * * * /path/to/php -f /local/path/to/cron-bad-filename.php
|
Mailto 命令告诉 cron 选项卡在哪里转发 cron 脚本创建的任何输出。您需要将该电子邮件地址更改为您的电子邮件地址。然后在这两种方法中我加入了一个错误的通知。第一种方法,我已更改为不存在的另一个 命令的 wget 命令。在第二个方法中,我已更改为 cron.php 到一个不存在的文件的路径。现在,如果正确设置您的 cron 作业,每隔五分钟你应该说用 cron 脚本错误的电子邮件。一旦你有了那封邮件,你可以安全地恢复到正确的版本,会很高兴知道你 cron 脚本设置 !如果您没有收到这封电子邮件,做 Magento 的 Cron 作业用谷歌搜索,尝试找到你去了哪里错了。如果失败,则向我发送电子邮件,我会看到是否有助于。
Magento 的 cron 作业的另一个好处就是你可以将您自己的自定义模块添加到它 !
1
2
3
4
5
6
7
8
|
<crontab>
<jobs>
<cronjob_name>
<schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
<run><model>mymodule/my_model::functionName</model></run>
</cronjob_name>
</jobs>
</crontab>
|
将上面的代码添加到您的自定义模块 config.xml,改变您的模块名称为 mymodule,为您的型号名称 my_model 和 functionName 为您想要调用的函数模型之一。
这就是几乎所有你需要做,让您的 cron 启动并运行。我希望你喜欢这个快速教程