我刚刚在Apigility中完成了我的第一个API。现在它基本上是数据库的门户,存储和检索通过应用程序上传的多页文档。
现在我想对文档进行一些处理,例如通过第三方API处理它们或修改图像质量等,并将它们返回给应用程序用户。
GET
请求直接回复结果。在处理完成后,我考虑过运行异步流程并向应用程序发送推送通知。但是,我能在理想情况下实现这样的处理逻辑吗?我很乐意接受一些在开发API方面经验丰富的人的建筑建议。谢谢。
答案 0 :(得分:1)
您可以使用zf-rest
资源事件将侦听器与其他自定义逻辑连接起来,而不会污染您的资源。
这些事件在RestController
班级(for example a post.create
event here on line 382)中被触发。
当您使用Apigility-Doctrine模块时,您还可以使用DoctrineResource
类(for example the DoctrineResourceEvent::EVENT_CREATE_POST
event here on line 361)中触发的事件来连接您的听众。
您可以使用在ZendQueue
之上构建的排队服务like ZendQueue
或其他内容(第三方模块)进行管理。您可以使用Google找到不同的ZF2排队系统/模块。
通过将排队服务注入您的监听器,您只需将作业直接推送到队列中即可。