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