首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel动态队列,作业之间的延迟

Laravel动态队列,作业之间的延迟
EN

Stack Overflow用户
提问于 2022-08-11 15:40:42
回答 1查看 234关注 0票数 0

对于Laravel的实现,我有一个进退两难的困境--排队。我需要为商店实体建立队列-、orders、products、到其他api的同步(每分钟的有限请求)。但我需要商店不要互相影响。

我有一家需要同步1000种产品的商店。但在同一时间,还有其他商店的产品,需要同步。

  1. I由于API /min有限而需要设置延迟(该API受shop的限制,因此2家商店可以同时处理)。我如何设置一些延迟之间的工作为第一家商店,从例子,以处理这1000种产品。例如,API限制为10 E.g /1 1min(10 E.g/60)。我如何在每个作业之间设置延迟6s?
  2. ,我需要,避免第二家商店必须等待,而第一家商店将处理这1000种产品。

我尝试的是:

延迟:sleep([6s])在Laravel (不工作),因为当我同时得到3个产品的工作时,我不能把这个延迟发送给对方。我尝试为Laravel设置delay([6s]),但结果也是一样的。

为了避免等待:我讨论了动态创建队列(对于每一家分开的商店),但我不知道Laravel是否让这样的动作成为可能。

是否知道如何实现这一局面。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-08-11 18:44:17

尝试使用碳,如:

代码语言:javascript
运行
复制
$dateTime = "2022-08-12 12:00:00";
$carbonDate = Carbon::parse($date);
JobsPublishArticle::dispatch()->delay($dateTime);

代码语言:javascript
运行
复制
$dateTime = Carbon::now()->addSeconds(10); // you can use minutes, hours, etc too.
JobsPublishArticle::dispatch()->delay($dateTime);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73323463

复制
相关文章

相似问题

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