【发布时间】:2018-06-17 11:21:33
【问题描述】:
- 我有多租户应用程序。
- 每个租户都有多个操作(sync_customers、sync_metafileds、install_code、verify_code 等),我需要对其进行 API 调用。
- API 调用限制为每秒 2 次调用(一分钟最多 41 次调用)。
案例一。
- i.假设一个租户有 10,000 个客户。同步过程是 正在运行。
- 同时租户添加对 install_code 的请求。 (install_code 需要最少 16 次 API 调用。)
- 现在我可以停止 sync_customers 并根据优先级启动 install_code,或者只是将所有调用添加到队列中。
我需要的是
- 不同租户的不同队列。
- 队列需要优先。
- 如果更高优先级的任务出现在任何队列进程之间。请先完成它,然后继续处理挂起的任务。
- 如果没有其他待处理任务,则只需优化服务器资源并关闭该队列。
我正在使用 AWS 和 laravel v5.x 以及 php 版本 7.x
希望每个人都明白我的意思。
提前致谢。
【问题讨论】:
-
您可以使用不同的队列名称并设置不同的优先级。检查laravel.com/docs/5.5/queues
-
但是 laravel 进程如何排队?我需要为 diff 设置 numproc=x 吗?排队?我是主管设置的新手。
标签: laravel api amazon-web-services queue multi-tenant