0

我正在使用php-imap包,我想收听传入的电子邮件。

实现这一点的方法php-imap是调用一个idle()函数,如下所示:

$emailFolder->idle(function (Message $email){
   // dispatch event
});

问题是idle()函数永远不会完成运行,其余代码也永远不会执行。

我需要idle()为每个用户调用该函数,因为我必须监听所有用户的传入电子邮件。

我试图为每个用户设置一个作业并将其分派到一个队列,但是作业永远不会结束(并且由于用户数量发生了变化,工作人员的数量必须改变),我找不到办法在需要时停止工作。

我还需要一种方法来停止执行idle()特定用户的功能,例如,如果用户删除其帐户。

有没有办法在后台运行那段代码,而不干扰代码执行,并有可能停止执行特定的流程实例?

4

1 回答 1

0

我找到了解决方案。

这是:https ://github.com/Webklex/php-imap/issues/206

于 2022-03-04T15:40:48.460 回答