Skip to content

Instantly share code, notes, and snippets.

View renatocron's full-sized avatar

Renato Santos renatocron

  • eokoe
  • Sao Paulo, Brazil
View GitHub Profile
use strict;
use warnings;
use Benchmark qw/timethese cmpthese :hireswallclock/;
use Redis;
use Redis::hiredis;
my $r2 = Redis->new;
my $r = Redis::hiredis->new();
$r->connect( '127.0.0.1', 6379 );
sub test_callback {
my $promise = Mojo::Promise->new();
my $req = Mojo::Message::Request->new;
my $id = Mojo::IOLoop->server(
{ address => '127.0.0.1' } => sub {
my ( $loop, $stream ) = @_;
$stream->on(
#!/usr/bin/env perl
use strict;
use Mojo::Promise;
use Mojo::IOLoop::Subprocess;
use Mojo::UserAgent;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
my $subprocess = shift;
package MojoX::InsistentPromise;
use strict;
use Carp;
use Mojo::IOLoop;
use Mojo::Promise;
my @retry_timing = (0, 0.5, 1, 3, 7, 13, 21, 34, 55, 60, 120);
use Scalar::Util 'weaken';
#!/usr/bin/env perl
use common::sense;
use DDP;
use Mojo::Promise;
use Mojo::IOLoop::Subprocess;
use Mojo::UserAgent;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
#!/usr/bin/env perl
use common::sense;
use DDP;
use Mojo::Promise;
use Mojo::IOLoop::Subprocess;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
my $subprocess = shift;
#!/usr/bin/env perl
use common::sense;
use DDP;
use Mojo::Promise;
use Mojo::IOLoop::Subprocess;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
my $subprocess = shift;
#!/usr/bin/env perl
use common::sense;
use DDP;
use Mojo::Promise;
use Mojo::IOLoop::Subprocess;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
my $subprocess = shift;
package MojoX::InsistentPromise;
use strict;
use Carp;
my @retry_pos = (0, 0.5, 1, 3, 7, 13, 21, 34, 55, 60, 120);
$_ = $_ / 10000 for @retry_pos; # Test only!
use Scalar::Util 'weaken';
sub new {
use strict;
use Mojo::Promise;
use Mojo::UserAgent;
use DDP;
use Memory::Usage;
my $mu = Memory::Usage->new();
my $ua = Mojo::UserAgent->new->inactivity_timeout(1);
my $max_fail_num = 100;