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

295
Views
How to manually run a laravel/lumen job using command line

I have created a Job file in the folder app/Jobs/MyJob.php and i would like to run it just once, if its possible using command line.

Something like:

> php MyJob:run

what command should I use to run a method in this file or the handle?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

UPDATE

I created mxl/laravel-job composer package providing Laravel command for dispatching jobs from command line:

$ 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

Package also provides a way to reduce boilerplate by using base Job class and has FromParameters interface that allows to implement command line parameters parsing and use job from PHP code and command line simultaneously.

Read more about its features at the package GitHub page.

OLD ANSWER

Run

php artisan make:command DispatchJob

to create special artisan command that runs jobs.

Open created DispatchJob.php file and define DispatchJob class like this:

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());
    }
}

Now you should start queue worker:

php artisan queue:work

and after that you can run jobs from command line:

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

0

The most simple way is to call with the use of Tinker

It's Laravel command using for debugging, use it by running below command from from project root

php artisan tinker

To dispatch job on a specific queue from tinker

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

first parameter - Queue name

second parameter - job name

Dispatch multiple jobs at once to a specific queue

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

Demo (product-service is my project name) Just follow it enter image description here Find a dispatched job in the queue) my case queue is configured as Redis

enter image description here

about 4 years ago · Santiago Trujillo Report

0

If you are using a QUEUE_DRIVER diferent to sync and you want to dispatch a queue that you have created before, from your project folder run the command:

php artisan queue:work --queue=MyQueueName

Check this link to configure a database 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!