おそらく、この問題に最もうまく取り組む方法を知っている人がいるでしょう。
クライアントがファイルをアップロードできる ZF2 アプリケーションがあります。ファイルには注文が含まれており、処理する必要があります。このファイルの処理をすぐに開始するイベントをトリガーすると、クライアントは (他のことをするために) 先に進むことができません。そのため、このファイルの処理を開始するイベントをバックグラウンドでトリガーしたいと思います。アクションはクライアントに次のページを返し、他のものを入力できるようにします。もちろん、これはcronジョブで解決できます...しかし、ZF2がはるかにイベント駆動型になっているので、別の方法があるのでしょうか? 次のように、バックグラウンドでイベント (またはサービス) をトリガーすることは可能ですか?
public function csvUploadAction()
{
$id = (int) $this->params()->fromRoute('id', 0);
$form = new CsvForm($id);
// do some validating and stuff...
if ($form->isValid()) {
// more stuff..
$this->getEventManager()->trigger('readCsvInBackground', $this, $parameters);
return $this->redirect()->toRoute('publications', array(
'action' => 'edit', 'id' => $id
));
// etc..
}
私はこのような解決策を探しましたが、何も見つかりません(cronジョブを使用する以外)。誰でもアイデアはありますか?お時間をいただき、誠にありがとうございました!