История изменений
Исправление DRVTiny, (текущая версия) :
Взрыв мозга в виде реализации таймера наподобие AnyEvent->timer в Mojolicious:
Mojo::IOLoop->delay(
sub {
Mojo::IOLoop->timer($keepAliveTimings->[TIMER_OPT_AFTER] => $_[0]->begin);
}, # <- set one-time alarm
sub {
sub {
state $cntRun=0;
$cntRun++ or
$aeh{'keep_alive_timer'}=
Mojo::IOLoop->recurring($keepAliveTimings->[TIMER_OPT_INTERVAL] => __SUB__);
$redCastObj->('redc')->ping(sub {
my ($redO,$err,$res)=@_;
if ($err || $res ne 'PONG') {
$redCastObj->reconnect('(keep_alive) failed to re-animate Redis connection after ping lost');
} else {
$log->debug('(keep_alive) PING returned status: OK');
}
});
}->()
} # <- set recurring timer
); # <- $loop->delay()
Пришлось в одном модуле заменять AnyEvent на Mojo - столько всего насмотрелся...
Исправление DRVTiny, :
Взрыв мозга в виде реализации таймера наподобие AnyEvent->timer в Mojolicious:
Mojo::IOLoop->delay(
sub {
Mojo::IOLoop->timer($keepAliveTimings->[TIMER_OPT_AFTER] => $_[0]->begin);
}, # <- set one-time alarm
sub {
sub {
state $cntRun=0;
$cntRun++ or
$aeh{'keep_alive_timer'}=
Mojo::IOLoop->recurring($keepAliveTimings->[TIMER_OPT_INTERVAL] => __SUB__);
$redCastObj->('redc')->ping(sub {
my ($redO,$err,$res)=@_;
if ($err || $res ne 'PONG') {
$redCastObj->reconnect('(keep_alive) failed to re-animate Redis connection after ping lost');
} else {
$log->debug('(keep_alive) PING returned status: OK');
}
});
}->()
} # <- set recurring timer
); # <- $loop->delay()
Пришлось в одном модуле заменять AnyEvent на Mojo - столько всего насмотрелся...
Исправление DRVTiny, :
Взрыв мозга в виде реализации таймера наподобие AnyEvent->timer в Mojolicious:
Mojo::IOLoop->delay(
sub {
Mojo::IOLoop->timer($keepAliveTimings->[TIMER_OPT_AFTER] => $_[0]->begin);
}, # <- set one-time alarm
sub {
sub {
state $cntRun=0;
$cntRun++ or
$aeh{'keep_alive_timer'}=
Mojo::IOLoop->recurring($keepAliveTimings->[TIMER_OPT_INTERVAL] => __SUB__);
$redCastObj->('redc')->ping(sub {
my ($redO,$err,$res)=@_;
if ($err || $res ne 'PONG') {
$redCastObj->reconnect('(keep_alive) failed to re-animate Redis connection after ping lost');
} else {
$log->debug('(keep_alive) PING returned status: OK');
}
});
}->()
} # <- set recurring timer
); # <- $loop->delay()
Пришлось в одном модуле заменять AnyEvent на Mojo - столько всего насмотрелся...
Исходная версия DRVTiny, :
Взрыв мозга в виде реализации таймера наподобие AnyEvent->timer в Mojolicious:
Mojo::IOLoop->delay(
sub {
Mojo::IOLoop->timer($keepAliveTimings->[TIMER_OPT_AFTER] => $_[0]->begin);
}, # <- set one-time alarm
sub {
sub {
state $cntRun=0;
$cntRun++ or
$aeh{'keep_alive_timer'}=
Mojo::IOLoop->recurring($keepAliveTimings->[TIMER_OPT_INTERVAL] => __SUB__);
$redCastObj->('redc')->ping(sub {
my ($redO,$err,$res)=@_;
if ($err || $res ne 'PONG') {
$redCastObj->reconnect('(keep_alive) failed to re-animate Redis connection after ping lost');
} else {
$log->debug('(keep_alive) PING returned status: OK');
}
});
}->()
} # <- set recurring timer
); # <- $loop->delay()
Пришлось в одном модуле заменять AnyEvent на Mojo - столько всего насмотрелся...