【问题标题】:(having the process run until completion, after browser is closed)(在浏览器关闭后,让进程运行直到完成)
【发布时间】:2017-06-16 06:39:32
【问题描述】:

我有一个网站,使用 PHP 创建并在 Apache 上运行。我希望订阅者能够登录并在服务器上启动一个进程。然后,他们可以在不中断进程的情况下注销或关闭浏览器。稍后他们可以登录并查看进度或查看原始过程的结果。完成此操作的最佳方法是什么(在关闭浏览器后让进程运行直到完成)?

只是想找人为我指明正确的方向。一些人提到了 Gearman。

【问题讨论】:

  • 这个问题太笼统了。它不是询问具体问题,而是需要针对某个场景提供复杂的解决方案。
  • 为此目的使用诸如RabbitMQgearman之类的作业服务器。

标签: php mysql apache cron gearman


【解决方案1】:

Gearman 将是一个理想的候选人,我会完全按照您描述的目的使用它。它具有开箱即用以满足您的要求所需的一切(“后台”一个长时间运行的、受 CPU 限制的进程到另一台机器,例如视频编码)。

有一个Gearman PHP library,但如果它更适合做这项工作,你可以用不同的语言编写你的工作代码。

为了报告进度信息,我建议让工作人员写信给RedisMemcached - 您的网络服务器也可以访问的某种临时存储。

在 Gearman 网站上查看简单的 PHP example。为了学习,我建议设置一个包含 3 个独立 VM 的实验室环境,一个用于 Web 服务器(客户端),一个用于 Gearman 作业队列(服务器),另一个用于处理作业(工作人员)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    相关资源
    最近更新 更多