也许有人知道如何最好地解决这个问题。
我有一个 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..
}
我已经在 arround 搜索了这样的解决方案,但找不到任何东西(除了使用 cron 作业)。有人有想法吗?非常感谢您的宝贵时间!