Shell symfony4:启动并跟踪长后台任务的进度
我有一个symfony4应用程序,它有一个后端处理组件,需要几分钟才能运行。目前,它是从一个bash脚本和几个symfony控制台命令开始的 我希望能够在web界面中启动此进程,并显示其进度(并防止在仍在运行时再次启动) 后台任务不需要获取任何参数,它从数据库读取所需的所有数据 由于后端进程需要很长时间,我不希望在运行时有一个网页挂起。web前端需要启动它,然后分离。用户打算稍后回来检查结果Shell symfony4:启动并跟踪长后台任务的进度,shell,symfony,symfony4,Shell,Symfony,Symfony4,我有一个symfony4应用程序,它有一个后端处理组件,需要几分钟才能运行。目前,它是从一个bash脚本和几个symfony控制台命令开始的 我希望能够在web界面中启动此进程,并显示其进度(并防止在仍在运行时再次启动) 后台任务不需要获取任何参数,它从数据库读取所需的所有数据 由于后端进程需要很长时间,我不希望在运行时有一个网页挂起。web前端需要启动它,然后分离。用户打算稍后回来检查结果 我在Symfony文档或本网站上找不到解决方案。我看到的最简单的解决方案是有一个具有唯一id的表“tra
我在Symfony文档或本网站上找不到解决方案。我看到的最简单的解决方案是有一个具有唯一id的表“transaction”-触发后台任务后,您首先创建一个事务,并将标志设置为“running”(当然,完成,甚至在完成后删除它) 当您将此id返回给后台任务的请求者时,当您想要查看更新时,它可以很容易地请求此事务id及其状态。您可以将此id用于长时间的后台任务
您也可以通过订阅来处理长任务,但这仅在您不使用modphp的情况下有效。是的,但是如何从Symfony创建后台任务?从应用程序启动bash脚本/Symfony命令有什么问题?这应该是非阻塞的,对吗?我正在寻找最好的方法。过程执行?系统呼叫?有什么好办法吗?对不起,我可能不明白你的问题。我怎么知道在不知道的情况下触发流程的最佳方式是什么?它是否需要跨操作系统兼容?是否有特定的IO、DB等权限?是否需要考虑任何DB锁?如果只是简单的数据库维护,没有任何并发问题,为什么不使用当前的symfony命令并从应用程序启动它呢?但我建议您提供更多关于您真正想要实现的目标的详细信息,以及更多详细信息。欢迎来到StackOverflow!以防万一,您可以将单词包装成链接以获得更好的阅读体验。