Schedulers

The Scheduler tab manages Laravel scheduled commands at the project level — the schedule you define in your application's code. Depfloy registers a single cron entry for each Laravel project that invokes schedule:run once a minute, and Laravel itself decides which of your scheduled commands to run from there.

Open it from the project's tab strip in the Console.

What you see

The Scheduler tab lists the scheduled commands Depfloy has detected in your project, with for each one:

  • The command name or description
  • Its frequency (every minute, hourly, daily, weekly, or a custom cron expression)
  • Whether it's currently enabled
  • The last time it ran and what happened

Click any entry to see its recent run history.

Server-level vs project-level

There are two places to schedule things in Depfloy. Pick the right one:

  • Project-level Schedulers (this page) — for Laravel scheduled commands defined in your application's code. The schedule is part of the project; if you deploy the project to a different server, the schedules move with it. Use this for application-level work: cleaning up records, sending digest emails, generating reports.
  • Server-level Scheduled Tasks — for OS-level commands, scripts that touch multiple projects, or anything not tied to a Laravel application. Use this for housekeeping: apt-get update, system backups, monitoring scripts.

Pause and resume

If you need to temporarily stop a scheduled command (running an investigation, doing a controlled migration), pause it from the Scheduler tab. Paused entries skip their next runs until you resume them. The schedule is still defined in your code; only Depfloy's execution is paused.

Why a command didn't run

A few common reasons a Laravel scheduled command appears not to run:

  • It's paused (check the entry's status)
  • Your project's cron entry isn't set up — check that * * * * * cd /home/depfloy/PROJECT_ID/current && php artisan schedule:run >> /dev/null 2>&1 is in the depfloy user's crontab
  • The command's when() / unless() condition is not satisfied
  • An earlier scheduled command failed silently and is blocking the queue

For deep debugging, use the Logs tab to see your application's output, or Commands to run php artisan schedule:list and php artisan schedule:test manually.

Was this page helpful?