Laravel 调度程序在 Dreamhost 中不工作 VPS
Laravel Scheduler not working in 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 命令,但它没有触发。
如何测试我的调度程序是否配置正确?
谁能帮我修改当前设置?
谢谢。
所以我在多次测试后设法让它工作。
确保你的账号可以执行命令
crontab -e
如果不能,请联系 Dreamhost 支持以修复权限。
对于您的 cron 命令,您需要指定 php
的确切位置
cd ~/site.com && /usr/local/php72/bin/php artisan schedule:run >> /dev/null 2>&1
由于Dreamhost不允许每分钟执行一次,我建议改为每10分钟执行一次。
希望对您有所帮助!
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 命令,但它没有触发。
如何测试我的调度程序是否配置正确?
谁能帮我修改当前设置?
谢谢。
所以我在多次测试后设法让它工作。
确保你的账号可以执行命令
crontab -e
如果不能,请联系 Dreamhost 支持以修复权限。
对于您的 cron 命令,您需要指定 php
的确切位置cd ~/site.com && /usr/local/php72/bin/php artisan schedule:run >> /dev/null 2>&1
由于Dreamhost不允许每分钟执行一次,我建议改为每10分钟执行一次。
希望对您有所帮助!