Я написал следующую программу (redis.pl
), Redis выполняется локально с настройками порта по умолчанию, но когда я бегу redis.pl
с morbo redis.pl
я никогда не ********* 1
на экране. Почему это? Кажется, подписка никогда не бывает. Как я могу это исправить?Невозможно получить Mojo :: Redis2 подписаться
#!/usr/bin/perl
use v5.18;
use warnings;
use Mojolicious::Lite;
use Mojo::Redis2;
say "Welcome";
my $redis = Mojo::Redis2->new();
$redis->subscribe(['pubsub'] => sub {
say "********* 1";
});
get '/' => sub {
my $self = shift;
$self->render(json => {a => 1});
};
app->start;
Но почему '' 'my $ redis = ...' '' выходит за рамки? Я думал, что выполнение программы останавливается при запуске app-> start, что * должно означать, что '' my $ redis'' все еще жив. – alexk
с циклами событий и реакторами, я бы не стал делать ставку на это :-) –