私はphp-imapパッケージを使用しており、受信メールをリッスンしたいと考えています。
これを実現する方法は、次のように関数php-imap
を呼び出すことです。idle()
$emailFolder->idle(function (Message $email){
// dispatch event
});
問題は、idle()
関数の実行が終了せず、残りのコードが実行されないことです。
idle()
すべてのユーザーの受信メールをリッスンする必要があるため、ユーザーごとに関数を呼び出す必要があります。
ユーザーごとにジョブを設定してキューにディスパッチしようとしましたが、ジョブが終了せず (ユーザーの数が変わるため、ワーカーの数も変更する必要があります)、方法が見つかりません。必要に応じてジョブを停止します。
idle()
また、ユーザーがアカウントを削除した場合など、特定のユーザーの関数の実行を停止する方法も必要です。
プロセスの特定のインスタンスの実行を停止する可能性があり、コードの実行に干渉することなく、そのコードをバックグラウンドで実行する方法はありますか?