PAGI::FastAPI::Queue::Driver::Redis
Redis Storage Driver for PAGI::FastAPI::Queue.
PAGI::FastAPI::Queue::Driver::Redis is a storage driver plugin for
PAGI::FastAPI::Queue.
It stores each topic as a Redis list, so queued items are shared across
every worker process and host pointed at the same Redis instance and key
prefix - unlike the built-in, in-process
PAGI::FastAPI::Queue::Driver::Memory.
It's built on Async::Redis
(Future::IO-based) rather than Net::Async::Redis, matching
PAGI::FastAPI's own documented event-loop philosophy: Future::IO is
the goal, IO::Async is an implementation detail.
SYNOPSIS
use PAGI::FastAPI::Queue;
use PAGI::FastAPI::Depends qw(Depends);
my $queue = PAGI::FastAPI::Queue->new(
driver => 'PAGI::FastAPI::Queue::Driver::Redis',
options => {
host => '127.0.0.1',
port => 6379,
prefix => 'myapp:queue:',
},
);
$app->post('/jobs',
dependencies => [ Depends($queue->dep, key => 'queue') ],
handler => async sub ($c) {
await $c->stash->{queue}->push('emails', { to => 'a@b.com' });
return { queued => 1 };
},
);
INSTALLATION
Install the distribution from CPAN using your preferred client:
cpanm PAGI::FastAPI::Queue::Driver::Redis
This driver can also be used with a caller-supplied client (see the
redis constructor option in the POD), so Async::Redis is not a hard
dependency of this distribution. Install it yourself if you rely on the
driver's default auto-connect behaviour:
cpanm Async::Redis
LICENSE AND COPYRIGHT
Copyright (C) 2026 Mohammad Sajid Anwar.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License (2.0).