首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从API获取数据的Laravel

从API获取数据的Laravel
EN

Stack Overflow用户
提问于 2020-02-15 09:35:11
回答 1查看 220关注 0票数 1

我有一个数据库表,它将被不断更新。

代码语言:javascript
运行
复制
game_id | end_time

现在我如何创建一个在这个end_time上运行的作业,一个作业将从第三方API获得一些数据,这将依赖于这个game_id

注意: game_id和end_time从每个记录中都有变化。

我已经查找了任务调度程序,但我找不到信息,我认为这只是一个特定的时间。

EN

回答 1

Stack Overflow用户

发布于 2020-02-21 19:04:05

是的,您可以使用laravel调度器来执行此任务。您可以查看console命令类中的时间变量。例如,放入内核类:

代码语言:javascript
运行
复制
$schedule->command('ApiConnection:get')->everyFiveMinutes();

在ApiConnection类(handle()函数)中,您可以获得DB记录:

代码语言:javascript
运行
复制
Model::whereDate('end_time', '>=', Carbon::today())->get(); //format of Carbon function should be equal to your end_time column format, I mean I don't know if you use just date or date with time, etc

现在您应该能够按时间使用game_id数据了。

我还建议在DB表中添加status列,这样您就可以控制已经处理的记录,如下所示:

代码语言:javascript
运行
复制
$models = Model::whereDate('end_time', '>=', Carbon::today())->where('status', 'awaiting')->get();
foreach ($models as $model) {
   $model->status = 'in progress';
   ...your api work here...
   $model->status = 'completed';
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60237490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档