Saltar al contenido
Home » Blog » Solución para «Message is added to queue, wait to get your file soon» en Magento 2

Solución para «Message is added to queue, wait to get your file soon» en Magento 2

Instalar modulo magento 2 composer

Hoy vamos a resolver el problema que la exportación de archivos con el mensaje «Message is added to queue, wait to get your file soon» en Magento 2.

Ocurre, que cada vez que el usuario exportaba algún archivo desde Magento 2, éste va a la cola. Así que el usuario tiene que esperar el archivo. La solución a esto es exportar archivos directamente y no esperar a la programación de la cola del cron. Hay tres formas de exportar archivos sin esperar. Veamos todas ellas.

Primera: Ver la lista de consumidores de cola de mensajes disponibles

*Esta es mi manera favorita.

Para ver una lista de todos los consumers, ejecuta el siguiente comando en la terminal:

bin/magento queue:consumers:list

El comando anterior mostrará la siguiente lista:

product_action_attribute.update
product_action_attribute.website.update
exportProcessor
inventory.source.items.cleanup
inventory.mass.update
inventory.reservations.cleanup
inventory.reservations.update
codegeneratorProcessor
async.operations.all

Después de eso, ejecuta el comando como se indica a continuación:

bin/magento cron:run
bin/magento queue:consumers:start codegeneratorProcessor

Actualiza la página y verás el fichero listo para descargar.

Segunda: Usar el cron para ejecutarlo cada minuto

Cree un archivo en la ruta indicada a continuación

app\code\Vendor\Extension\etc\crontab.xml

Ahora, añade el siguiente código:

<?xml version="1.0"?>
     <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
          <group id="default">
               <job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
                    <schedule>* * * * *</schedule>
               </job>
          </group>
     </config>

Tercera: Configuración específica

Edita el archivo app\etc\env.php con el siguiente código:

'cron_consumers_runner' => [
                        'cron_run' => true,
                        'max_messages' => 0,
                        'consumers' => [
                                    'async.operations.all',
                                    'codegeneratorProcessor',
                                    'exportProcessor',
                                    'product_action_attribute.update',
                                    'product_action_attribute.website.update'
                        ]
               ],

Conclusión

Con cualquiera de las soluciones anteriores, puedes reducir el tiempo de la exportación del fichero, así como exportarlo si no tienes crons activos. Para cualquier consulta escríbenos en la sección de comentarios, estaremos encantados de ayudarte.

Comparte la solución a través de tus redes sociales y entre tus amigos para ayudarnos. Gracias!

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *