Magento 2 Cron.php

时间:2016-10-18 09:35:37

标签: php file cron magento2

我们有Magento 1和一个提供者,我们只为cronjob输入了cron.php文件的路径。 示例:anyname.com/cron.php

现在Magento 2出来了,我发现cron.php文件现在位于/ pub或/ update文件夹中。所以我输入了启用.htaccess的anyname.com/update/cron.php或anyname.com/pub/cron.php:

 ## 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

5 个答案:

答案 0 :(得分:1)

要在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

答案 1 :(得分:0)

要在magento 2中运行cronjobs,您应该执行以下操作:

这将在crontab中设置cron

bin/magento cron:install

清理缓存

bin/magento cache:flush

然后使用特定的组运行cron

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

答案 2 :(得分:0)

首先要在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>

答案 3 :(得分:-1)

在cli中尝试:php bin / magento cron:run

答案 4 :(得分:-1)

您的问题是您没有阅读文档。在m2中你应该通过cli执行cron,这是bin / magento cron:run。