Skip to content

Instantly share code, notes, and snippets.

@tommybutler
Last active July 9, 2021 20:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tommybutler/0685c4c88ca3cfe4c68cb405b695937f to your computer and use it in GitHub Desktop.
Save tommybutler/0685c4c88ca3cfe4c68cb405b695937f to your computer and use it in GitHub Desktop.
library method that calls Mojo::Promise->map()
return Mojo::Promise->map
(
{ concurrency => 10 },
sub
{
my $record = $_;
my $promise = Mojo::Promise->new();
Mojo::IOLoop->subprocess->run
(
sub { $self->do_work_and_warn_about_progress_to_STDERR( $record ) },
sub
{
my ( $subprocess, $err, $result ) = @_;
if ( $err )
{
$promise->reject( $err )
}
else
{
$promise->resolve( $result );
}
}
);
return $promise;
},
@records
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment