Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

285
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!