如何在后台保留进程 运行? - Laravel
How to keep a process running in the background? - Laravel
我正在使用 php-imap 包,我想收听收到的电子邮件。
使用 php-imap
实现此目的的方法是调用 idle()
函数,如下所示:
$emailFolder->idle(function (Message $email){
// dispatch event
});
问题是 idle()
函数永远不会完成 运行ning 并且永远不会执行其余代码。
我需要为每个用户调用 idle()
函数,因为我必须监听所有用户的传入电子邮件。
我尝试为每个用户设置一个作业并将其分派到队列中,但是作业永远不会结束(并且由于用户数量发生变化,工作人员数量也必须发生变化),我可以'想办法在需要时停止作业。
我还需要一种方法来停止为特定用户执行 idle()
函数,例如,如果用户删除了其帐户。
有没有办法运行后台的那段代码,不干扰代码执行,并有可能停止进程的特定实例的执行?
我找到了解决方案。
我正在使用 php-imap 包,我想收听收到的电子邮件。
使用 php-imap
实现此目的的方法是调用 idle()
函数,如下所示:
$emailFolder->idle(function (Message $email){
// dispatch event
});
问题是 idle()
函数永远不会完成 运行ning 并且永远不会执行其余代码。
我需要为每个用户调用 idle()
函数,因为我必须监听所有用户的传入电子邮件。
我尝试为每个用户设置一个作业并将其分派到队列中,但是作业永远不会结束(并且由于用户数量发生变化,工作人员数量也必须发生变化),我可以'想办法在需要时停止作业。
我还需要一种方法来停止为特定用户执行 idle()
函数,例如,如果用户删除了其帐户。
有没有办法运行后台的那段代码,不干扰代码执行,并有可能停止进程的特定实例的执行?
我找到了解决方案。