Haz todo lo posible por comprender el código correctamente previamente a usarlo a tu proyecto si ttienes algo que aportar puedes dejarlo en los comentarios.
Solución:
Una opción para ahorrar en el tiempo de desarrollo sería usar N98MageRun para Magento 2.
Esto tiene los comandos maravillosos. sys:cron:list
y sys:cron:run
.
Con estos comandos, podrá encontrar el código de trabajo específico para su cron y luego activar solo ese cron desde la línea de comando.
Se puede instalar fácilmente a través de composer require --dev n98/magerun2
y recomendaría que sea una opción para una instalación de desarrollo cuando se trabaja con Magento 2
¡Piensa de forma sencilla! La clase Cron es una clase “normal”. Podemos usar un Playground para probar nuestro Cron: ¿Cómo puedo iniciar Magento 2 en un script test.php? El Administrador de Objetos creará nuestro Objeto Cron. Y luego, podemos probar nuestro Cron llamando a la URL directamente en el navegador.
** Tenga en cuenta que si usa Nginx, puede colocar estos archivos en la carpeta pub/ y ajustar la ruta requerida para el archivo Test.php para require '../app/bootstrap.php';
Prueba.php
createApplication('TestApp');
$bootstrap->run($app);
TestApp.php
public function launch()
/** @var VendorModuleCronTest $cron */
$cron = MagentoFrameworkAppObjectManager::getInstance()
->create('VendorModuleCronTest');
$cron->execute();
return $this->_response;
Puedes lograrlo usando dos archivos:
crear carpeta y clase en la raíz del proyecto como:
crons/CronprocessApp.php
_response = $response;
//$state->setAreaCode('any area'); // or 'adminhtml', depending on your needs
$state->setAreaCode('adminhtml'); // or 'adminhtml', depending on your needs
public function launch()
/** @var VendorModuleCronTest $cron */
$cron = MagentoFrameworkAppObjectManager::getInstance()
->create('CustomPreorderCronChangeVisiblityNonPreorderProduct'); //pass the name of your cron class path
$cron->execute();
return $this->_response;
public function catchException(MagentoFrameworkAppBootstrap $bootstrap, Exception $exception)
return false;
?>
Crea otro archivo de clase:
crones/Cronprocess.php
createApplication('CronprocessApp');
$bootstrap->run($app);
Para ejecutar cron, vaya a cli con la ruta raíz del proyecto y ejecute el siguiente comando:
php crons/cronprocess.php
Si tienes alguna vacilación o disposición de ascender nuestro división puedes añadir una apostilla y con deseo lo leeremos.