簡體   English   中英

Magento 2 Cron.php

[英]Magento 2 Cron.php

我們有 Magento 1 和一個提供程序,我們只是在其中鍵入 cronjob 的 cron.php 文件的路徑。 示例:anyname.com/cron.php

現在 Magento 2 出來了,我發現 cron.php 文件現在在 /pub 或 /update 文件夾中。 所以我輸入 anyname.com/update/cron.php 或 anyname.com/pub/cron.php 並啟用 .htaccess :

 ## Deny access  to cron.php
#    <Files cron.php>
#       order allow,deny
#      deny from all
#   </Files>

試圖做 cronjob 這出來了:

/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:173 Stack 
trace: #0 
/vendor/magento/framework/Event/Invoker/InvokerDefault.php(73): Magento\Cron\Observer\ProcessCronQueueObserver->execute(Object(Magento\Framework\Event\Observer)) #1 
/vendor/magento/framework/Event/Invoker/InvokerDefault.php(61): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod(Object(Magento\Cron\Observer\ProcessCronQueueObserver), Object(Magento\Framework\Event\Observer)) #2 
/vendor/magento/framework/Event/Manager.php(66): Magento\Framework\Event\Invoker\InvokerDefault->dispatch(Array, Object(Magento\Framework\Event\Observer)) #3 
/var/generation/Magento/Framework/Event/Manager/Proxy.php(95): Magento\Framework\Event\Manager->dispatch('default', Array) #4 
/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php on line 173

要在 Magento 2 中執行 CRON 作業,Magento 2 為此提供了 CLI,您必須從 Magento 2 根目錄設置命令以啟動所有 Magento 默認 Cron

php bin/magento cron:run

0 0 * * * /usr/bin/php /var/www/html/magento_root/php bin/magento cron:run >/dev/null 2>&1

請參閱 Magento 2 文檔。 Magento 2 CRON DevDocs

要在 magento 2 中運行 cronjobs,您應該執行以下操作:

這將在 crontab 中設置 cron

bin/magento cron:install

清理緩存

bin/magento cache:flush

然后使用特定組運行 cron

bin/magento cron:run --group="default"

首先要在 magento 2 中創建任何 cron 作業,您需要在 etc 文件夾下創建 crontab.xml 文件。 在該文件中創建 xml 文件后,您需要提及您希望在特定時間執行的類名、時間和函數。 group_name 是用戶選擇,您可以使用現有組,也可以創建自己的組。

例子

<config>
    <group id="<group_name>">
        <job name="<job_name>" instance="<classpath>" method="<method>">
            <schedule><time></schedule>
        </job>
    </group>
</config>

在 cli 中試試這個: php bin/magento cron:run

您的問題是您沒有閱讀文檔。 在 m2 中,您應該通過 bin/magento cron:run 的 cli 執行 cron。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM