在PHP中使用前台请求的分布式处理系统
我熟悉处理后台作业的php resque和其他作业处理系统,但我认为它不能满足我的需要 在本例中,我有一个传入的web服务请求,它需要执行多个(2-4个)到外部系统的独立调用,并返回给客户端一个统一的响应。每个调用可能需要300-500毫秒,因此我希望并行执行每个调用,以便整个过程总共不超过500毫秒+/- 我在使用php resque和其他系统时遇到的问题是,等待一秒钟就开始发出这些调用太长了,我正在考虑另一种方法 我在想:在PHP中使用前台请求的分布式处理系统,php,background-process,resque,Php,Background Process,Resque,我熟悉处理后台作业的php resque和其他作业处理系统,但我认为它不能满足我的需要 在本例中,我有一个传入的web服务请求,它需要执行多个(2-4个)到外部系统的独立调用,并返回给客户端一个统一的响应。每个调用可能需要300-500毫秒,因此我希望并行执行每个调用,以便整个过程总共不超过500毫秒+/- 我在使用php resque和其他系统时遇到的问题是,等待一秒钟就开始发出这些调用太长了,我正在考虑另一种方法 我在想: 每个单独的标注都用给定的唯一请求ID进行描述并存储在数据库中 我们立
想法?我错了吗?php resque是否可以立即并行启动多个作业?您的计划应该可行,但我认为您可以通过使用
但是您的web服务器可以轻松地
exec()
您的CLI脚本,它将完成所有繁重的工作,返回这些任务的状态,等等。如果您的外部调用只是HTTP请求,您可以简单地使用curl并执行多个请求。它们似乎正是你所需要的
如果有什么不同,我可以强烈推荐
如果您想弄脏自己的双手并编写自己的守护进程,我建议跳过IPC函数,选择更高级别的函数,例如,如果PHP进程死掉,可以使用它来重新启动PHP进程。编写长时间运行的PHP进程相对比较困难,因此在构建过程中必须考虑外部脚本将随机消亡的概念,并准备优雅地处理这些问题。看一看。调用是什么?HTTP请求?