作者:A丶Iice-fjl | 来源:互联网 | 2023-08-28 15:45
我正在尝试使用Paypal API交易端点。
我想获取给定帐户的所有交易。此数字可能是百万笔交易的十分之一。对于这些事务中的每一个,我都需要将其存储在数据库中以由排队的作业进行处理。我一直在尝试找出用Laravel拉动这么多记录的最佳方法。贝宝的最大请求项限制为每页20个。
我最初是从创建作业的想法开始的,当用户向我提供其API凭证时,该凭证将获取前20个项目并进行处理,然后从第一个作业中分配一个包含要使用的起始索引的作业。这将永远循环直到出现错误。这样做似乎不太可行,因为它会导致网关在保存这些API凭据时超时,并且对API的请求最终会超时(在获取所有事务之前)。我还应该提到交易的总数是未知的,因此连锁似乎不是答案,因为没有办法知道要分派多少工作...
有什么想法吗?获取API数据最适合工作吗?
您可以在查询当前数据库以查找该作业的交易开始索引的第一个作业结束时分派相同的作业。
因此,即使您的工作出错,您也可以再次分派它,然后它将从先前结束的地方恢复
,
是的,工作是路要走。我对Paypal api不熟悉,但似乎请求的速率受到限制paypal rate limiting ..您可能想稍微延迟一下api请求..也可以通过跟踪最新消息来制作一个类来监视api请求的使用情况您提出的请求以及在工作中,您可以确定何时触发下一个请求并将其记录在数据库中...
我谦虚的建议
请不要提取所有数据,数据库将很快膨胀,并且每次有新帐户都需要扩展,这并非易事。
,
也许您需要将您的应用程序与另一个数据引擎(如AWS)链接,无论如何,我认为最好的主意是创建APi,仅提取最重要的数据,建立索引,并将所有大数据保留在另一个端点上可以在需要时联系他们