no message

This commit is contained in:
kuaifan
2022-07-05 14:34:23 +08:00
parent 8eb956f831
commit ef2b1dd321
5 changed files with 30 additions and 9 deletions

View File

@@ -21,15 +21,17 @@ class WebSocketDialogMsgTask extends AbstractTask
{
protected $id;
protected $ignoreFd;
protected $msgNotExistRetry = false;
/**
* WebSocketDialogMsgTask constructor.
* @param int $id 消息ID
* @param mixed $ignoreFd
*/
public function __construct($id)
public function __construct($id, $ignoreFd = null)
{
$this->id = $id;
$this->ignoreFd = Request::header('fd');
$this->ignoreFd = $ignoreFd === null ? Request::header('fd') : $ignoreFd;
}
/**
@@ -40,6 +42,14 @@ class WebSocketDialogMsgTask extends AbstractTask
$this->ignoreFd = $ignoreFd;
}
/**
* @param bool $msgNotExistRetry
*/
public function setMsgNotExistRetry(bool $msgNotExistRetry): void
{
$this->msgNotExistRetry = $msgNotExistRetry;
}
public function start()
{
global $_A;
@@ -50,6 +60,11 @@ class WebSocketDialogMsgTask extends AbstractTask
//
$msg = WebSocketDialogMsg::find($this->id);
if (empty($msg)) {
if ($this->msgNotExistRetry) {
$task = new WebSocketDialogMsgTask($this->id, $this->ignoreFd || '');
$task->delay(1);
$this->addTask($task);
}
return;
}
$dialog = WebSocketDialog::find($msg->dialog_id);