Pour faire une longue histoire, xdebug ne s'arrêtera pas de manière fiable sur les points d'arrêt dans mes fichiers cron lors de l'utilisation du typique:
php bin/magento cron:run
Xdebug est tout configuré correctement et parfois cela fonctionnera mais 85% du temps ce ne sera pas le cas et il suffit de se bloquer dans la CLI jusqu'à ce que je désactive l'écoute des connexions dans phpstorm.
Existe-t-il un moyen d'exécuter un seul fichier cron d'une manière ou d'une autre? J'ai dû copier et coller le contenu de mon fichier cron dans une commande de console distincte pour le tester correctement dans xdebug, ce qui n'est pas idéal.
Dans Magento 1.x, j'utilisais le planificateur AOE pour tester les tâches cron avec Xdebug en allant à l'administrateur, en cochant celle que je voulais et en choisissant exécuter dans la liste déroulante et cela a bien fonctionné.
Je cherche à utiliser quelque chose comme:
php bin/magento modulename:cronjob
qui devrait toujours exécuter le cron même s'il n'est pas planifié.
require '../app/bootstrap.php';
également sur TestApp.php, il doit y avoir le:return $this->_response;
ou cela générera une erreur que vous avez sur votre capture d'écran de phpstorm mais pas le code réel. Je vais essayer de modifier votre réponse avec cela.Une option pour économiser dans le temps de développement serait d'utiliser N98MageRun pour Magento 2.
Cela a les commandes merveilleuses
sys:cron:list
etsys:cron:run
.À l'aide de ces commandes, vous pourrez trouver le code de travail spécifique pour votre cron, puis déclencher uniquement ce cron à partir de la ligne de commande.
Il peut facilement être installé via
composer require-dev n98/magerun2
et je recommanderais que ce soit une installation go to dev lorsque vous travaillez avec Magento 2la source
Vous pouvez réaliser en utilisant deux fichiers:
créer un dossier et une classe à la racine du projet comme:
crons / CronprocessApp.php
Créez un autre fichier de classe:
crons / Cronprocess.php
Pour exécuter cron, accédez à cli avec le chemin racine du projet et exécutez la commande ci-dessous:
la source
Comment empêcher Xdebug de se verrouiller lors de l'exécution
bin/magento cron:run
la source