Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 2:如何处理大型任务用户友好_Php_Symfony - Fatal编程技术网

Php Symfony 2:如何处理大型任务用户友好

Php Symfony 2:如何处理大型任务用户友好,php,symfony,Php,Symfony,我实现了一个时事通讯功能 用户可以从他的客户中选择一个列表,他希望将新闻稿发送到该列表,客户列表可能有几千个条目 在用户完成创建列表后,我将创建一个包含列表中所需所有信息的数据库。现在,我想让这个过程尽可能地对用户友好 我想到了以下几点: 用户完成列表并单击“保存” 我获取信息并返回类似“操作正在运行。请稍候,此操作可能需要几分钟”的视图 我正在将列表中的信息写入数据库 我将用户从“请等待”视图重定向到另一个视图,在该视图中他可以再次工作 我的问题是,我不知道如何在symfony2中实现这一点,

我实现了一个时事通讯功能

用户可以从他的客户中选择一个列表,他希望将新闻稿发送到该列表,客户列表可能有几千个条目

在用户完成创建列表后,我将创建一个包含列表中所需所有信息的数据库。现在,我想让这个过程尽可能地对用户友好

我想到了以下几点:

  • 用户完成列表并单击“保存”
  • 我获取信息并返回类似“操作正在运行。请稍候,此操作可能需要几分钟”的视图
  • 我正在将列表中的信息写入数据库
  • 我将用户从“请等待”视图重定向到另一个视图,在该视图中他可以再次工作

  • 我的问题是,我不知道如何在symfony2中实现这一点,是否有可能发生事件,或者我应该在会话中保存列表?

    您有一些选择。最常见的两种是:

    • 使用javascript的AJAX调用
    • 使用队列(如ZeroMQ或RabbitMQ)
    我更喜欢排队,因为它更容易管理。在Symfony2中,有几个包可用于实现队列系统:

    • RabbitMQ包:
    • ZeroMQ库:
    您可以在上搜索备选方案

    我将实现以下流程:

  • 渲染表格
  • 邮政表格
  • 句柄表单:将信息保存到数据库
  • 句柄表单:与队列相对应的发送
  • 使用闪光灯包通知用户
  • 在后端:

  • 启动使用者(CLI)
  • 从队列中获取信息
  • 发送您的通讯
  • 使用新的状态和日志更新数据库

  • 在前端:如果数据库已更新且状态已更改,则通知用户您有几个选项。最常见的两种是:

    • 使用javascript的AJAX调用
    • 使用队列(如ZeroMQ或RabbitMQ)
    我更喜欢排队,因为它更容易管理。在Symfony2中,有几个包可用于实现队列系统:

    • RabbitMQ包:
    • ZeroMQ库:
    您可以在上搜索备选方案

    我将实现以下流程:

  • 渲染表格
  • 邮政表格
  • 句柄表单:将信息保存到数据库
  • 句柄表单:与队列相对应的发送
  • 使用闪光灯包通知用户
  • 在后端:

  • 启动使用者(CLI)
  • 从队列中获取信息
  • 发送您的通讯
  • 使用新的状态和日志更新数据库
  • 在前端:通知用户数据库是否已更新,状态是否已更改