我正在尝试运行一个调度程序,该调度程序每分钟抓取比特币价格并将它们添加到数据库中,但我无法让幼虫调度程序正常运行。
我已经在单独的 php 页面中测试了 sql 代码,它可以工作,但调度程序似乎没有运行
调度函数在内核中.php句柄功能位于作业/更新速率中
protected function schedule(Schedule $schedule)
{
$schedule->job(new AppJobsUpdateRates)->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();
}