首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多租户应用程序中,如何管理每个租户的不同队列?

在多租户应用程序中,如何管理每个租户的不同队列?
EN

Stack Overflow用户
提问于 2018-01-08 13:10:15
回答 1查看 668关注 0票数 1
  1. 我有多租户申请。
  2. 每个租户都有多个操作(sync_customers、sync_metafileds、install_code、verify_code等),我需要对这些操作执行API调用。
  3. API调用限制为每秒2次调用(一分钟内最多调用41次)。

案例1。

  • 假设一名租户有10,000名顾客。同步进程正在运行。
  • 同时,租户添加对install_code的请求。(install_code需要最小16个API调用。)
  • 现在,我可以停止sync_customers并根据优先级启动install_code,或者只是将所有调用添加到队列中。

我需要的是

  1. 不同租户的不同队列。
  2. 队列需要具有优先级。
  3. 如果更高优先级的任务出现在任何队列process.finish之间,则首先执行挂起的任务并继续执行。
  4. 如果没有其他挂起的任务,那么只需优化服务器资源并关闭队列。

我使用的是AWS和Laravelv5.x的php版本7.x

希望每个人都明白我的意思。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 06:12:25

我创建了一个带有参数{user_id}的自定义命令user_id。

运行队列:使用参数--once=true

代码语言:javascript
复制
$this->call('queue:work', [
  "--once" => true,
  "database"
]);

跟踪当前queue:work_stores是否正在运行的一个标志。

检查完整代码https://gist.github.com/little-isaac/a6d70c82f372406f827fb3b399745c8e

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48150997

复制
相关文章

相似问题

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