New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tapping on a very active .out of Proc::Async wrecks the work queue #5894
Comments
From @AlexDanielThis is probably best demonstrated by a code snippet. Code: my $out = Channel.new; my $promise = $proc.start; The idea is that we want to kill our process if it is still working after 1 second. This works fine, unless the process is writing a lot of stuff to stdout. IRC log: https://irclog.perlgeek.de/perl6/2016-12-18#i_13760994 |
From @jnthnOn Sun, 18 Dec 2016 06:24:38 -0800, alex.jakimenko@gmail.com wrote:
At present, the default scheduler has a single work queue, and if the output from the process is not being processed at the rate it's coming in then the queue will end up with a backlog, and the timer event - placed into the same queue - will be delayed. In the future, we'll get around to having a smarter scheduler. In the meantime, I suggest creating a second scheduler to use for timer (or Proc::Async) events. /jnthn |
The RT System itself - Status changed from 'new' to 'open' |
From @jnthnOn Tue, 20 Dec 2016 05:07:57 -0800, jnthn@jnthn.net wrote:
The new scheduler has a separate queue for time-based events, and seems to do notably better at this. |
Migrated from rt.perl.org#130370 (status was 'open')
Searchable as RT130370$
The text was updated successfully, but these errors were encountered: