Deprecated

Laravel Web Cron

Laravel 5.1 queue runner for webcron (with runtime limit)
GitHub RepositoryReleasesPackagist

Setup

Add the package to the require section of your composer.json and run composer update

"kduma/cron": "^1.1"

Then add the Service Provider to the providers array in config/app.php but not before Illuminate\Queue\QueueServiceProvider:

KDuma\Cron\CronServiceProvider::class,
KDuma\Cron\WebCronServiceProvider::class,

Usage

Command syntax is like queue:work --daemon with 2 new options:

artisan queue:cron [-t|--timelimit[="..."]] [-r|--runlimit[="..."]] [--queue[="..."]] [--delay[="..."]] [--force] [--sleep[="..."]] [--tries[="..."]] [connection]
  • --timelimit (-t) - Maximum time this command can work in seconds. (default: 60)
  • --runlimit (-r) - Maximum queue jobs to run in. (default: no limit)

Best practices

  • Split your jobs into small tasks that takes small amount of time
  • When you choice time limit, subtract time of longest job

Web Cron

In your .env file add:

WEBCRON_SECRET=YOUR_SECRET

Replace YOUR_SECRET with your secret. Now you can run queue by visiting http://<domain>/cron/YOUR_SECRET url.

You can also configure time limit and/or run limit using following entries in .env:

WEBCRON_TIMELIMIT=30
WEBCRON_RUNLIMIT=25
Copyright © 2026