Laravel 如何在多租户应用程序中为每个租户管理不同的队列?
Laravel how can we manage different queue for each tenant in multi tenant application?
- 我有多租户应用程序。
- 每个租户都有多项操作(sync_customers、sync_metafileds、install_code、verify_code 等),我需要对其进行 API 调用.
- API 呼叫限制为每秒 2 次呼叫(一分钟内最多 41 次呼叫)。
案例 1。
- 我。假设一个租户有 10,000 个客户。同步过程是
运行.
- 同时 install_code 的租户添加请求。 (install_code 需要至少 16 API 次调用。)
- 现在我可以停止 sync_customers 并根据优先级开始 install_code,或者只是将所有呼叫添加到队列中。
我需要的是
- 不同租户的不同队列。
- 队列需要优先。
- 如果更高优先级的任务进入任何队列process.finish它首先并继续挂起任务。
- 如果没有其他待处理的任务,则只优化服务器资源并关闭该队列。
我正在使用 AWS 和 laravel v5.x php 版本 7.x
希望大家明白我的意思。
提前致谢。
我创建了一个自定义命令
queue:work_stores 参数为 {user_id}。
其中 运行 queue:work 带有参数 --once=true
$this->call('queue:work', [
"--once" => true,
"database"
]);
一个标记,用于跟踪当前 queue:work_stores 是否 运行ning。
查看完整代码https://gist.github.com/little-isaac/a6d70c82f372406f827fb3b399745c8e
- 我有多租户应用程序。
- 每个租户都有多项操作(sync_customers、sync_metafileds、install_code、verify_code 等),我需要对其进行 API 调用.
- API 呼叫限制为每秒 2 次呼叫(一分钟内最多 41 次呼叫)。
案例 1。
- 我。假设一个租户有 10,000 个客户。同步过程是 运行.
- 同时 install_code 的租户添加请求。 (install_code 需要至少 16 API 次调用。)
- 现在我可以停止 sync_customers 并根据优先级开始 install_code,或者只是将所有呼叫添加到队列中。
我需要的是
- 不同租户的不同队列。
- 队列需要优先。
- 如果更高优先级的任务进入任何队列process.finish它首先并继续挂起任务。
- 如果没有其他待处理的任务,则只优化服务器资源并关闭该队列。
我正在使用 AWS 和 laravel v5.x php 版本 7.x
希望大家明白我的意思。
提前致谢。
我创建了一个自定义命令 queue:work_stores 参数为 {user_id}。
其中 运行 queue:work 带有参数 --once=true
$this->call('queue:work', [
"--once" => true,
"database"
]);
一个标记,用于跟踪当前 queue:work_stores 是否 运行ning。
查看完整代码https://gist.github.com/little-isaac/a6d70c82f372406f827fb3b399745c8e