热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Laravel有效地将大型外部API消耗到数据库中

我正在尝试使用PaypalAPI交易端点。我想获取给定帐户的所有交易。此数字

我正在尝试使用Paypal API交易端点。

我想获取给定帐户的所有交易。此数字可能是百万笔交易的十分之一。对于这些事务中的每一个,我都需要将其存储在数据库中以由排队的作业进行处理。我一直在尝试找出用Laravel拉动这么多记录的最佳方法。贝宝的最大请求项限制为每页20个。

我最初是从创建作业的想法开始的,当用户向我提供其API凭证时,该凭证将获取前20个项目并进行处理,然后从第一个作业中分配一个包含要使用的起始索引的作业。这将永远循环直到出现错误。这样做似乎不太可行,因为它会导致网关在保存这些API凭据时超时,并且对API的请求最终会超时(在获取所有事务之前)。我还应该提到交易的总数是未知的,因此连锁似乎不是答案,因为没有办法知道要分派多少工作...

有什么想法吗?获取API数据最适合工作吗?



您可以在查询当前数据库以查找该作业的交易开始索引的第一个作业结束时分派相同的作业。

因此,即使您的工作出错,您也可以再次分派它,然后它将从先前结束的地方恢复

,

是的,工作是路要走。我对Paypal api不熟悉,但似乎请求的速率受到限制paypal rate limiting ..您可能想稍微延迟一下api请求..也可以通过跟踪最新消息来制作一个类来监视api请求的使用情况您提出的请求以及在工作中,您可以确定何时触发下一个请求并将其记录在数据库中...

我谦虚的建议
请不要提取所有数据,数据库将很快膨胀,并且每次有新帐户都需要扩展,这并非易事。

,

也许您需要将您的应用程序与另一个数据引擎(如AWS)链接,无论如何,我认为最好的主意是创建APi,仅提取最重要的数据,建立索引,并将所有大数据保留在另一个端点上可以在需要时联系他们


推荐阅读
  •  12.1微服务的原则 我们在第2章讨论过,微服务原则可以发挥什么样的作用。它们 ... [详细]
  • iOS之富文本
    之前做项目时遇到一个问题:使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ... [详细]
  • node的特点:它作为js的运行平台,node保留了前端浏览器js那些熟悉的接口,依旧基于作用于和原型链,区别在于它将前端中广泛应用的思想迁移到服务器。异步IO:关键字:异 ... [详细]
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的 ... [详细]
  • 这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefinedwindow.undefined;是为了兼容低版本的IE而写的因为在低版本 ... [详细]
  • rtemsapi用户指南Elixir代表了相对较新的编程语言,面向更广泛的受众。它于2011年发布,此后一直在开发中。他的主要特征是取消功能范式 ... [详细]
  • 软件自动化测试的学习路线
    软件自动化测试的学习步骤软件测试交流群关注软件测试技术公众号获取阅读目录软件自动化测试的学习步骤自动化测试的本质自动化测试学习的误区自动化测试的职位自动化测试分类Web自动化 ... [详细]
  • 在这一期的SendMessage函数应用中,我将向大家介绍如何利用消息函数来扩展树型列表(TreeView)控件的功能相信对于树型列表控件大家十分的熟悉, ... [详细]
  • ajax 跨域webapi 最简单的demo(只介绍Get)
    这几天遇到一个nodejs的项目,使用VSCode开发,需要连接数据库的,但是用nodejs连接数据库比较繁琐,需要安装很多 ... [详细]
  • 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
    智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台 ... [详细]
  • Shiro 简单了解
    Shiro简单了解简单用过SpringSecurity安全框架后,再试试另一个安全框架——Shiro。1.Shiro简介ApacheShiro是一个强大且易用的Java安全框架:S ... [详细]
  • 一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说 ... [详细]
  • 大数据分析Python有哪些爬虫框架
    一、ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用 ... [详细]
  • 开发笔记:Xunit测试使用个人小结
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Xunit测试使用个人小结相关的知识,希望对你有一定的参考价值。因工作中用到xunit测试,故总结下用法,以供个人参考使 ... [详细]
  • vector:在vc6中,如果要镶嵌使用vector,如vector,后面的两个应该用,空格隔开,否则被编译器认为是移位符string::npos的值为 ... [详细]
author-avatar
A丶Iice-fjl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有