Laravel Scheduler在Dreamhost VPS中不起作用

火影忍者恶魔

在此处输入图片说明

Laravel调度程序在Dreamhost VPS中不起作用。

Dreamhost的局限性是不允许每分钟通话,因此我改为每10分钟通话一次。但是,调度程序在任何情况下都不会触发。

我已经尝试了以下cron命令:

php ~/site.com/artisan schedule:run >> /dev/null 2>&1

cd / site.com && php artisan schedule:run >> /dev/null 2>&1

但是两者都不起作用。

这是我的kernel.php内部的内容

protected $commands = [
    'App\Console\Commands\DailyStatus',
];

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->dailyAt('6:50');

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->daily()
        ->between('12:00','12:30')
        ->appendOutputTo(public_path().'status_daily_output.log')
        ->withoutOverlapping(60);

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->dailyAt('12:15')
        ->appendOutputTo(public_path().'status_daily_at_output.log')
        ->withoutOverlapping(60);
}

日志也没有生成。我已经输入了一些echo命令,并且没有触发。

如何测试我的调度程序是否正确配置?

有人可以帮我解决当前设置吗?

谢谢。

火影忍者恶魔

因此,经过大量测试,我设法使它起作用。

  1. 确保您的帐户可以执行命令

     crontab -e
    

    如果不能,请联系Dreamhost支持以修复权限。

  2. 对于您的cron命令,您需要指定php的确切位置

    cd ~/site.com  && /usr/local/php72/bin/php artisan schedule:run >> /dev/null 2>&1
    
  3. 由于Dreamhost不允许分钟,因此建议每10分钟执行一次。

我希望这有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章