PHP后台进程

标签 php apache

我有一个用户必须在我的网站上完成的流程,这可能需要相当长的时间(在某些情况下长达一个小时)。

我希望能够让用户启动该进程,然后被告知它正在后台运行,他们可以离开页面,并在该进程完成时收到电子邮件。这将有助于避免用户不耐烦并在进程完成之前关闭窗口的情况。

理想情况下的一个示例是 Mailchimp 如何处理导入联系人。您上传联系人的 CSV 文件,然后他们会说联系人当前正在上传,但可能需要一段时间,因此请随时离开该页面。

实现这一目标的最佳方法是什么?我研究了 Gearman,但似乎该工具对于快速扩展大量任务而不是在后台运行进程更有用。

感谢您的帮助。

最佳答案

即使乍一看似乎不是您会使用的,我想我会使用 Gearman,因为:

  • 当用户执行操作时,您可以将任务推送给它
  • 它将处理这两个问题:
    • 将任务平衡到多台服务器(如果您有多台服务器)
    • 排队,因此并行执行的任务不超过 X 个。
  • 无需重新发明轮子;-)

关于PHP后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5436666/

相关文章:

php - 查询 functions.php 中的函数?

php - Xdebug 安装在 EC2 Linux 实例上并使用 PhpStorm 进行远程调试/开发

apache - 带有异常的mod_rewrite

html - 将 SSL/HTTPS 用于动态视频流

PHP XML (DOM) 扩展 : installed but not listed in phpinfo in centos

javascript - 数据更改时饼图数据不更新

javascript - Laravel 5.2 - 在 ajax 请求后从 Controller 返回 View

php - fopen 在子目录上返回 false

php - 现有站点的 CMS

linux - 使用虚拟主机从非 www 域名重定向到 www 不起作用