Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

286
Vistas
Cómo ejecutar manualmente un trabajo de laravel/lumen usando la línea de comando

Creé un archivo de trabajo en la carpeta app/Jobs/MyJob.php y me gustaría ejecutarlo solo una vez, si es posible usando la línea de comandos.

Algo como:

> php MyJob:run

¿Qué comando debo usar para ejecutar un método en este archivo o en el identificador?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

ACTUALIZAR

Creé el paquete mxl/laravel-job composer que proporciona el comando Laravel para enviar trabajos desde la línea de comando:

 $ composer require mxl/laravel-job $ php artisan job:dispatch YourJob # for jobs in app/Jobs directory (App\Jobs namespace) $ php artisan job:dispatch '\Path\To\YourJob' # dispatch job by its full class name $ php artisan job:dispatchNow YourJob # dispatch immediately $ php artisan job:dispatch YourJob John 1990-01-01 # dispatch with parameters

El paquete también proporciona una forma de reducir el uso de la clase Job base y tiene una interfaz FromParameters que permite implementar el análisis de parámetros de la línea de comandos y usar el trabajo desde el código PHP y la línea de comandos simultáneamente.

Lea más sobre sus características en la página del paquete GitHub .

RESPUESTA ANTIGUA

Correr

 php artisan make:command DispatchJob

para crear un comando artesanal especial que ejecute trabajos.

Abra el archivo DispatchJob.php creado y defina la clase DispatchJob de esta manera:

 class DispatchJob extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'job:dispatch {job}'; /** * The console command description. * * @var string */ protected $description = 'Dispatch job'; /** * Execute the console command. * * @return mixed */ public function handle() { $class = '\\App\\Jobs\\' . $this->argument('job'); dispatch(new $class()); } }

Ahora debe iniciar el trabajador de la cola:

 php artisan queue:work

y después de eso, puede ejecutar trabajos desde la línea de comandos:

 php artisan job:dispatch YourJobNameHere
about 4 years ago · Santiago Trujillo Denunciar

0

La forma más sencilla es llamar con el uso de Tinker

Es el comando Laravel que se usa para la depuración, utilícelo ejecutando el siguiente comando desde la raíz del proyecto

 php artisan tinker

Para enviar un trabajo en una cola específica desde Tinker

\Queue::pushON('rms', new App\Jobs\UpdateRMS());

primer parámetro: nombre de la cola

segundo parámetro - nombre del trabajo

Envíe varios trabajos a la vez a una cola específica

 \Queue::bulk([new App\Jobs\UpdateRMS(), new App\Jobs\UpdateRMS()], null, 'rms');

Demostración (producto-servicio es el nombre de mi proyecto) Solo síguelo ingrese la descripción de la imagen aquí Encuentre un trabajo enviado en la cola) mi cola de casos está configurada como Redis

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando un QUEUE_DRIVER diferente para sincronizar y desea enviar una cola que ha creado anteriormente, desde la carpeta de su proyecto, ejecute el comando:

 php artisan queue:work --queue=MyQueueName

Consulta este enlace para configurar una base de datos QUEUE_DRIVER

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda