问题标签 [symfony-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
817 浏览

symfony - Symfony2后台进程

如何在后台运行 Symfony2 进程?

我的代码:

如何在后台运行此过程?我想我应该将新进程的 STDOUT 重定向到 /dev/null 但我该怎么做呢?

0 投票
2 回答
1716 浏览

php - Symfony2 - 启动 symfony2 命令的进程

我的目标是在后台启动一些耗时的功能,以避免用户在呈现服务器响应之前等待。

我有一个 Symfony 项目,我正在从控制器启动一个异步进程。这个过程将启动一个 Symfony 命令,该命令将调用另一个控制器。

问题是当我用start()

然后这个过程什么也没有发生,但是重定向和我后来的一些其他代码可以工作。

但是,如果我这样做

然后这个过程工作正常,但我需要等到过程完成才能渲染视图。

知道我做错了什么吗?

0 投票
1 回答
2028 浏览

php - Symfony 将进程输出写入文件

如何将异步进程的输出写入文件。我的 phpunit 引导文件中有以下代码:

显然,该代码启动了一个服务总线实例,该实例侦听所有传入服务器的请求。运行测试后,请求会转到服务总线并停留在那里。我需要查看 start servicebus 命令的输出,看看出了什么问题。

知道如何将进程的输出写入某个日志文件吗?

0 投票
1 回答
5135 浏览

php - 使用 Symfony 进程控制 PHP 的交互式进程

我正在尝试通过使用ssh-add添加新密钥来控制系统ssh-agent。为此,我使用了Symfony Process组件。

当我从网站运行此代码时,它工作得非常好,但是当我在 shell/控制台中运行相同的代码时,ssh-add 进程挂起Enter passphrase for <path to key>:

代码的简化版本看起来像这样

正如您在上面的代码中看到的那样,我调用,在环境中ssh-add设置 ,以便与代理交谈,然后在输入中发送密码。正如我之前所说,当我在 web 上下文中运行它时,它可以工作,但它挂在 shell/console 上下文中。SSH_AUTH_SOCKssh-add

strace在控制台中运行时做了一个,相关部分看起来像这样

如您所见,写入似乎被忽略了,ssh-add程序开始阻塞等待输入。

0 投票
2 回答
5265 浏览

php - symfony/process - Process silently not starting

In a fresh symfony2-project (installation as described here), I would like to start a console-process as part of a request. The app runs on a "standard" ubuntu 14.04 box with nginx + php-fpm.

Consider this controller-code:

When I issue a request to /command, I get my expected result and the process starts, e.g. I see it with htop and the like. When I issue this request again, I get my expected result, but the process to be started does not show up anywhere. No errors, no nothing.

Restarting the php5-fpm service enables me to start one process through a request again, so basically I need to restart the whole php-service after each request. So this maybe is no programming-issue. But I don't know yet, honestly. The problem was described on stackoverflow before, Symfony2 - process launching a symfony2 command, but the workaround with exec is not working for me.

Does somebody have a clue?

Thanks, regards, jojo

0 投票
2 回答
894 浏览

php - 在 Symfony2 中访问后台进程

我想在 Symfony2 中创建一个后台进程,使用Process 组件并在后台运行它,如下所示:

我想在这里运行的脚本将无限期地运行(while (true)或类似的东西),并且应该可以从控制台命令或控制器中终止。

问题是 - 我如何在 Symfony 中(例如从控制器)中从与创建它不同的上下文访问这样的进程?那就是 - 没有原始Process实例?假设对路由的请求create_process启动了该过程,然后请求kill_process应该终止它。甚至可能吗?

我能想到的一种方法是序列化进程对象并存储在数据库中,但似乎这个解决方案可能存在很多问题。

0 投票
1 回答
3274 浏览

php - Laravel\Symfony 进程组件无法启动新进程

我在我的 Laravel 项目中使用 Symfony 提供的 Process 组件:http: //symfony.com/doc/current/components/process.html

这是我的代码:

所以,这里没什么特别的,只是一个食谱解决方案。但是,我收到以下错误:

我无法弄清楚是什么问题,因为日志中没有任何内容。如果它很重要,我将在 Windows Server 2008 R2 上运行它。

0 投票
1 回答
2890 浏览

php - 使用 Symfony Process 组件进行 Ajax 轮询

我正在启动一个长时间运行的任务,该任务返回有关 Symfony Process 组件的任务进度的增量输出。

其中一个示例展示了如何获取实时输出,另一个示例展示了如何运行异步任务。

我想要实现的是将 getIncrementalOutput 的结果传递回 ajax 轮询函数,以便我可以实时更新前端。

在任何一种情况下, process->start() 似乎都被阻塞了,因为我的 ajax 调用需要一分钟才能返回,到那时任务已经完成。

我想我试图避免将进度写入数据库或文件并直接从正在运行的 PHP 任务中获取输出。

不确定这是否可能。

0 投票
1 回答
3193 浏览

php - 从 symfony/console 启动后台 symfony/进程

我正在尝试创建一个 cli (symfony/console) 来管理消耗消息队列的长时间运行的子进程 (symfony/process)。我有两个命令,Consume 和 Listen。Consume 是 Listen 的包装器,因此可以在后台运行。Listen 是一个长时间运行的 MQ 转储,它在添加到消息队列时显示附加消息。

问题:当尝试从 Consume 中调用 Listen 的 cli 命令时它启动进程并给我一个 PID,但随后子进程立即死亡。我需要弄清楚如何让 Consume 分拆多个实际保持运行的 Listen 进程。

如果相关,它将运行的操作系统是 SLES 12 和使用 PHP 5.5 的 Ubuntu 14.04。

一些代码(相关片段)


消耗

0 投票
1 回答
2922 浏览

php - 如何在 Symfony2 应用程序的控制器中执行命令并在 Twig 模板中实时打印输出

我需要在我的 Symfony2 应用程序的控制器中执行一个持久的命令,并将终端的输出实时返回给用户。

我读过这个:

http://symfony.com/doc/current/components/process.html#getting-real-time-process-output

我不知道如何在 Twig 模板中实时打印终端输出。

编辑: 感谢 Matteo 的代码和用户评论,最终实现是: