【问题标题】:Using PHP Phalcon framework to run on Background使用 PHP Phalcon 框架在后台运行
【发布时间】:2018-04-03 07:56:29
【问题描述】:

我的问题对你来说可能非常基本,因为我是 phalcon 框架的新手。

我正在构建一个基于 Web 的系统,如果我想将一个 excel 文件上传到服务器,然后执行一组条件并将结果插入我的数据库,但我希望在服务器上完成执行,这意味着用户可以关闭浏览器,但系统仍应处理文件,并且在处理文件时应向用户显示一个进程栏。

【问题讨论】:

标签: php phalcon


【解决方案1】:

您可以上传文件并将其名称添加到队列系统或仅将其存储在数据库中。 Phalcon 提供开箱即用的 Beanstalk 支持,但如果您想保留上传的历史记录(并轻松显示进度),我建议使用数据库方式。表结构应包含以下列:文件名、processed_rows、行、状态(0 - 新,1 - 已处理)。

要在后台处理文件,您可以创建 Phalcon CLI 应用程序,该应用程序应观察队列(或数据库中未处理的文件)并处理文件。您应该将 CRON 任务配置为每 1/5/10 分钟运行一次,具体取决于您上传的文件数量或无限循环运行它。

要确定进度,您可以计算文件中的所有行数并在处理时更新已处理的行数。然后您可以根据客户的要求计算进度。

如果您需要实时进度,您可以间隔进行 ajax 调用以从数据库获取当前进度或实现 WebSocket 服务器,该服务器将从另一个队列的管道向您发送进度(由后台处理过程更新)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2013-04-03
    相关资源
    最近更新 更多