The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RmqPublishFactory

SYNOPSIS

    my $rmq_publish = RmqPublishFactory->new(uri => 'amqp://guest:guest@localhost/vhost?exchange=test');
    $rmq_publish->('message');

DESCRIPTION

METHODS

new(%options)

%options

uri

https://www.rabbitmq.com/uri-spec.html

exchange

default stor

uri query param ?exchange=xxx override this attribute

routing_key

default sha

uri query param ?routing_key=xxx override this attribute

routing_key

default 60

uri query param ?heartbeat=xxx override this attribute

create()

create new publisher (code)

create_mojo_heartbeat()

create recurring mojo handler for heartbeat

contributing

for dependency use [cpanfile](cpanfile)...

for resolve dependency use [carton](https://metacpan.org/pod/Carton) (or Carmel - is more experimental)

    carton install

for run test use minil test

    carton exec minil test

if you don't have perl environment, is best way use docker

    docker run -it -v $PWD:/tmp/work -w /tmp/work avastsoftware/perl-extended carton install
    docker run -it -v $PWD:/tmp/work -w /tmp/work avastsoftware/perl-extended carton exec minil test

warning

docker run default as root, all files which will be make in docker will be have root rights

one solution is change rights in docker

    docker run -it -v $PWD:/tmp/work -w /tmp/work avastsoftware/perl-extended bash -c "carton install; chmod -R 0777 ."

or after docker command (but you must have root rights)

LICENSE

Copyright (C) Avast Software.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Jan Seidl <seidl@avast.com>