PHP后台进程
我有一个过程,用户必须通过我的网站,这可能需要相当多的时间(在某些情况下,一个小时以上) 我希望能够让用户启动该流程,然后被告知该流程正在后台运行,他们可以离开该页面,并在流程完成后通过电子邮件发送。这将有助于避免用户不耐烦并在流程完成前关闭窗口的情况 Mailchimp如何处理导入联系人就是一个理想的例子。你上传了一个你的联系人的CSV文件,然后他们说联系人当前正在上传,但可能需要一段时间,所以请随意离开页面 实现这一目标的最佳方式是什么?我研究了Gearman,但是该工具似乎更适用于快速扩展大量任务,而不是在后台运行流程PHP后台进程,php,apache,Php,Apache,我有一个过程,用户必须通过我的网站,这可能需要相当多的时间(在某些情况下,一个小时以上) 我希望能够让用户启动该流程,然后被告知该流程正在后台运行,他们可以离开该页面,并在流程完成后通过电子邮件发送。这将有助于避免用户不耐烦并在流程完成前关闭窗口的情况 Mailchimp如何处理导入联系人就是一个理想的例子。你上传了一个你的联系人的CSV文件,然后他们说联系人当前正在上传,但可能需要一段时间,所以请随意离开页面 实现这一目标的最佳方式是什么?我研究了Gearman,但是该工具似乎更适用于快速扩展
感谢您的帮助。您可能想看看如何创建守护程序。我建议用PHP以外的语言编写守护进程(node.js可能?),但如果您已经有了大量PHP代码库,这可能并不可取。试着看一看 我一直在用PHP编写一个库调用,以支持PHP的事件驱动编程(通常是守护进程所需要的)。该库允许定时事件、多线程侦听器(当您希望一个事件队列从>1种类型的源馈送时)
如果你能给我们提供更多关于这个背景过程的具体功能的信息,可能会有所帮助。即使它看起来不像你第一眼看到的那样,我想我还是会使用Gearman,因为:
- 当用户执行其操作时,您可以将任务推送到它
- 它将处理以下两个方面:
- 将任务平衡到多个服务器(如果有多个服务器)
- 排队,因此并行执行的任务不超过X个
- 无需重新发明车轮;-)李>