codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
package TM::GitLab::Mojo::Plugin::Worker; use Mojo::Base 'Mojolicious::Plugin'; #use EV; #use AnyEvent::Open3::Simple; #use AnyEvent; use Mojo::IOLoop::ForkCall; sub register { my ($self, $app) = @_; $app->minion->add_task(shout => \&_shout); } sub _shout { my $job = shift; my $app = $job->app; my $log = $app->log; my $delay = Mojo::IOLoop::Delay->new; $log->debug("yay: $$ ". ref($delay)); my $end = $delay->begin; my $fc = Mojo::IOLoop::ForkCall->new; $fc->run( sub { exec('echo "hai" > TEST_FILE'); exit(1); # if exec failed }, [], sub { use Data::Dumper; $log->debug(Dumper(\@_)); $end->(); } ); # my $ipc = AnyEvent::Open3::Simple->new( # on_start => sub { # my ($proc, $program, @args) = @_; # # $log->debug("started command $program with pid: ". $proc->pid); # }, # on_stdout => sub { # my ($proc, $line) = @_; # $log->debug("[stdout] $line"); # }, # on_stderr => sub { # my ($proc, $line) = @_; # $log->debug("[stderr] $line"); # }, # on_exit => sub { # my ($proc, $exit_value, $signal) = @_; # # $log->debug("finished: $exit_value"); # $end->(); # }, # on_error => sub { # my ($error, $program, @args) = @_; # $log->error("yayks: $error"); # $end->(); # } # ); # $ipc->run('echo "hello" > TEST_FILE'); } 42;
Private
[
?
]
Run code
Submit