php - Yii2 等待队列为空
问题描述
我有一个使用 db 驱动程序的 yii 队列。我在控制器中有一个耗时的资源删除操作。它将作业推送到队列并将成功代码返回给调用者。
我想通过删除资源、等待作业完成并确认不再找到已删除的资源来测试此操作。将 sleep() 放在 DELETE 和 GET 之间是可行的,但是我想在发出 GET 请求之前检查队列是否为空的作业。
我尝试了以下操作:从删除端点返回 job_id,并在测试中发送 GET 请求之前调用 waitForQueueToBeEmpty($job_id) 。
public function waitForJobToBeEmpty($job_id) {
while (!Yii::$app->queue->isDone($job_id));
}
这是行不通的,工作永远不会完成。我让我的工人开始了。我的可能性是什么?先感谢您。
解决方案
推荐阅读
- wordpress - 如何在退出WordPress时获取用户的退出时间
- terraform - 在这个 ecs fargate 脚本中我需要两个 aws_iam_policy_document 吗?
- sql - c# linq with selectMany to sql语句
- java - 如何通过投票在某个日期订购餐厅
- go - 当顶级模块及其子模块之一作为单独版本单独导入时,如何解决冲突的 go 模块依赖关系?
- php - 收到此错误时如何从 JSON 获取变量:未能打开流:HTTP 请求失败
- excel - 具体前景签名取决于主题领域
- javascript - 在amcharts4中隐藏趋势线
- regex - 从产品描述中提取多个产品属性的正则表达式
- javascript - 如何在保留分隔符的同时根据空格或符号拆分字符串?