你好,我在react js中有一个应用程序,其中包含一个实时聊天,这已经起作用了,但由于一些原因,我不得不添加一个队列来批量发送电子邮件。现在的问题是,事实的事件被队列的job表捕获。
这是前面的回音代码:
_livechat(channelId)
{
window.Echo.private(`chat.${channelId}`)
.listen('.MessageSend', (e) => {
console.log(e)
if (this.state.myId != e.data.sender_id) {
var messages = this.state.messages
messages.push(e.data)
this.setState({messages,firstKey:this.state.myFirstKey})
this.messagesEnd.current.scrollTop = this.messagesEnd.current.scrollHeight
}
}).listenForWhisper('typing', (e) => {
this.setState({
isTyping:e.typing
})
})
}
这是一个事件:
class MessageSend implements ShouldQueue, ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $message, $channelID;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($message, $channelID)
{
$this->message = $message;
$this->channelID = $channelID;
}
public function broadcastWith()
{
return ['data' => $this->message];
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('chat.'.$this->channelID);
}
}
当我在聊天室之间发送消息时,它仍在job表中注册:
在此处输入图像描述
在laravel控制台中,没有任何活动,它不执行任何操作:
在此处输入图像描述
如果有人经过一个类似的湖,可以支持我,非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!