Closed tacman closed 9 months ago
Neat bundle. One quick suggestion, perhaps enable running commands asynchronously with the new RunCommandMessage
in 6.4.
Yes, that would be pretty cool.
And then I guess if the messageHandler could pass the results back to the browser...
And then I guess if the messageHandler could pass the results back to the browser...
That would be the difficult part...
Yes, I saw that yesterday! Still, I use my command bundle all the time for getting readable dd() and dump()'s.
Indeed, the RunCommandMessageHandler looks really interesting.
How can I capture the output though? It's a final class, so I shouldn't extend it.
public function dispatchCommand(string $cli) {
$envelope = $this->bus->dispatch(new RunCommandMessage($cli));
}
I've configured the handler to be async:
routing:
App\Message\DownloadImage: async
Symfony\Component\Console\Messenger\RunCommandMessage: async
App\Message\TranslationMessage: low
Now when I consume the message, I'd like to get the $ouput->fetch(), which is returned in the handler
return new RunCommandContext($message, $exitCode, $output->fetch());
bin/console messenger:consume async --limit 1 -vvv
Is there a way to get the output? The command is running but I'm not sure how to see the results. Even if I tweak my command to use $logger instead of $io, I'm not seeing the output I expect.
In your case, you'd need to listen to the WorkerMessageHandledEvent
and get/handle the output that way.
Perfect, thanks!
This is more a discussion than an issue, but discussions aren't enabled for this repo.
I've been working on a way to run commands from a web interface, mostly to take advantage of the debug toolbar, but also because sometimes I want access to a command without logging into the server. It uses console-extra's runCommand() method.
For example, in the Symfony demo application, there's a --send-to option, but it's hard to debug from the command line. Calling it from the browser shows the emails sent in the debug toolbar. Also, sometimes I want to add and list users from the website without writing custom controllers.
Here's a quick example exposing the app commands in the Symfony Demo
I also have a make:invokable-command that of course works hand-in-hand with this.
I wanted to first thank you for releasing console-extra and ask your feedback on my bundle. I don't yet have arrays working from the web interface.