调度程序不是 运行 Laravel 5

Scheduler not running Laravel 5

我正在尝试 运行 一个每分钟获取比特币价格并将其添加到数据库的调度程序,但我无法使幼虫调度程序正确地 运行。

我已经在单独的 php 页面中测试了 sql 代码,它可以工作,但调度程序似乎没有 运行ning

日程功能在kernel.php 句柄函数在Jobs/UpdateRates

protected function schedule(Schedule $schedule)
{
    $schedule->job(new \App\Jobs\UpdateRates)->everyMinute();

}


public function handle()
{
    $url = "https://bitpay.com/api/rates";
    $json = file_get_contents($url);
    $data = json_decode($json, TRUE);
    $rate = $data[1]["rate"];    
    $usd_price = 10;     # Let cost of elephant be 10$
    $bitcoin_price = round( $usd_price / $rate , 8 );

    DB::insert('insert into settings (bitcoin_rate, monero_rate) values (?, ?)', [0, 1]);
}

你需要添加到cron:

vim /etc/crontab

修复你的项目路径,添加这一行

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

这就是调用 Laravel 的内容,然后您可以在 Laravel 项目中完成剩余的日程安排。

现在您可以像这样添加任务,而不必担心再次更新 cron。

protected function schedule(Schedule $schedule)
{
    $schedule->job(new DailyEmailReports)->dailyAt();
    $schedule->job(new SomeOtherThing)->hourly();
    $schedule->job(new SomeElse)->everyFiveMinutes();     
}