新增分配医生延迟队列
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Amqp\Producer\AssignDoctorDelayDirectProducer;
|
||||
use App\Amqp\Producer\AssignDoctorProducer;
|
||||
use App\Constants\DoctorTitleCode;
|
||||
use App\Constants\HttpEnumCode;
|
||||
@@ -143,10 +144,11 @@ class CallBackController extends AbstractController
|
||||
$data = array();
|
||||
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
|
||||
$message = new AssignDoctorProducer($data);
|
||||
$producer = ApplicationContext::getContainer()->get(Producer::class);
|
||||
$result = $producer->produce($message);
|
||||
if (!$result) {
|
||||
$message = new AssignDoctorDelayDirectProducer($data);
|
||||
$message->setDelayMs(1000 * 5);
|
||||
$producer = $this->container->get(Producer::class);
|
||||
$res = $producer->produce($message);
|
||||
if (!$res) {
|
||||
Log::getInstance()->info("加入分配医生队列失败");
|
||||
return $server->serve();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Amqp\Producer\AssignDoctorDelayDirectProducer;
|
||||
use App\Amqp\Producer\AssignDoctorProducer;
|
||||
use App\Amqp\Producer\AutoCompleteInquiryDelayDirectProducer;
|
||||
use App\Amqp\Producer\AutoFinishInquiryDelayDirectProducer;
|
||||
@@ -325,46 +326,13 @@ class TestController extends AbstractController
|
||||
}
|
||||
|
||||
public function test_15(){
|
||||
$data = array();
|
||||
$data['order_inquiry_id'] = 1;
|
||||
|
||||
$wg = new \Hyperf\Utils\WaitGroup();
|
||||
$channel = new Channel();
|
||||
$wg->add(2);
|
||||
$message = new AssignDoctorDelayDirectProducer($data);
|
||||
$message->setDelayMs(1000 * 10);
|
||||
$producer = $this->container->get(Producer::class);
|
||||
$res = $producer->produce($message);
|
||||
|
||||
co(function () use ($wg,$channel) {
|
||||
defer(function() use ($wg) {
|
||||
dump("执行了defer");
|
||||
$wg->done();
|
||||
});
|
||||
|
||||
dump("执行了协程1");
|
||||
});
|
||||
|
||||
co(function () use ($wg,$channel) {
|
||||
defer(function() use ($wg) {
|
||||
dump("执行了defer");
|
||||
$wg->done();
|
||||
});
|
||||
|
||||
dump("执行了协程2");
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$wg->wait();
|
||||
|
||||
$res = $channel->isEmpty();
|
||||
if ($res){
|
||||
dump("存在异常");
|
||||
}
|
||||
|
||||
$res = $channel->close();
|
||||
dump($res);
|
||||
|
||||
$a = $wg->count();
|
||||
dump($a);
|
||||
|
||||
dump("执行完毕");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user