Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

nort99's avatar

scheduler running but ->cron not firing on one server instance only

I have four server instances on the same DO droplet managed through Forge (Laravel 5.6). The all have a single (non daemon) database queue instance running. They all have the same kernel. I've simplified it right down to the following:

protected function schedule(Schedule $schedule)
{
    \Log::info('Run scheduler');

    $schedule->call(function () {
        \Log::info('Run call');
    })->everyMinute();
}

The log output will show "Run scheduler" every few seconds for all servers, but only three servers will show "Run call". One server won't. I've tried different ->cron settings and the same result.

If I SSH to the machine and run:

php artisan schedule:run

The jobs run as expected and I get "Run call" in the logs.

I'm guessing it's something to do with the server set-up but it was created via Forge. anyone go any ideas?

0 likes
0 replies

Please or to participate in this conversation.