【问题标题】:how to set cron job for reindex如何为重新索引设置 cron 作业
【发布时间】:2013-03-12 06:47:08
【问题描述】:

如何在 Magento 中设置 cron 作业以清除缓存和重新索引。我不知道如何设置 cron 以重新索引。但我看到一些每天 cron 默认在 magento 中运行的地方。我仍然在我的网站中面临重新索引问题。我还需要清除缓存。On Magento website 这里

他们说日志清理和重新索引在代码中被注释掉了,所以我可以在哪个文件中取消注释以设置 cron 作业以进行日志清理和重新索引?

谢谢, 壁画。

【问题讨论】:

    标签: magento cron


    【解决方案1】:

    要创建 cron 作业,请将以下内容添加到您的 cron 文件中,以便每天早上 6 点重新索引

    0 6 * * * php -f /shell/indexer.php reindexall
    

    注意:如果您收到一条错误消息,提示您内存不足,类似于:

    PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 7680 bytes) in …/app/code/core/Mage/Index/Model/Indexer.php on line 163
    

    尝试在您的.htaccess 文件中注释掉php_value memory_limitphp_value max_execution_time

    【讨论】:

    • 感谢您的回复。我在很多论坛上都看到了这个。这里只有我困惑。让我知道我可以在我的根目录中创建一个文件。你能告诉我清楚吗?
    • 您可以通过键入 --> crontab -e .. 在 shell 提示符下访问您的 crontab。然后只需插入 @liyakat 提供的行。
    • 如果您需要,也可以使用您的 CPanel(或您的服务器拥有的任何东西)来设置您的 cron,它会更简单一些,并且会告诉您语法是否错误!
    【解决方案2】:

    我在cPanel 11.52.2.4 中测试了我的解决方案。所以请保持冷静并执行以下操作:

    导航到您的 magento2 管理区域。然后点击系统 > 索引管理。

    Actions 下拉列表中选择Update by schedule 并点击提交。

    这就是管理部分的内容。现在导航到 cPanel 区域并执行以下操作-

    1. 登录您的 cPanel
    2. 在 cPanel 下,点击 Advanced 标签组下的 Cron Jobs
    3. 如果您已经创建了一个 cron 作业,您可以对其进行编辑,或者创建一个新的 cron 作业。
    4. 选择运行 cron 作业的频率,假设 每周一次 (0 0 * * 0)
    5. 编写重新索引数据的命令,如

      php-cli /home/username/public_html/sub_folder_if_any/bin/magento indexer:reindex

    6. 保存。根据您的计划频率,cron 作业将运行。

    如果您想要较低的频率,但请注意,如果您降低频率,则会消耗资源。

    注意:确保根据您的 magento2 安装目录将 <username> 替换为您的 cPanel 用户名和 /<sub_folder_if_any>。如果您没有使用任何子目录,请忽略它

    【讨论】:

      【解决方案3】:

      我们遇到了同样的问题并修复了将兆字节更改为字节的问题。 而不是 set memory_limit 1024M 我们改为 1073741824。

      服务器上似乎有问题...我们使用 Plesk 面板托管在 Media Temple

      希望你早点解决。

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-09
        • 1970-01-01
        • 1970-01-01
        • 2012-11-12
        相关资源
        最近更新 更多