{"id":18402863,"url":"https://github.com/tynovsky/anyevent-rabbitmq-pubsub","last_synced_at":"2026-03-04T00:06:22.401Z","repository":{"id":74376041,"uuid":"69026988","full_name":"tynovsky/AnyEvent-RabbitMQ-PubSub","owner":"tynovsky","description":null,"archived":false,"fork":false,"pushed_at":"2018-05-24T13:53:45.000Z","size":23,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T14:41:27.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tynovsky.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-23T13:25:05.000Z","updated_at":"2018-11-04T02:50:10.000Z","dependencies_parsed_at":"2023-04-11T18:53:40.643Z","dependency_job_id":null,"html_url":"https://github.com/tynovsky/AnyEvent-RabbitMQ-PubSub","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynovsky%2FAnyEvent-RabbitMQ-PubSub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynovsky%2FAnyEvent-RabbitMQ-PubSub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynovsky%2FAnyEvent-RabbitMQ-PubSub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynovsky%2FAnyEvent-RabbitMQ-PubSub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tynovsky","download_url":"https://codeload.github.com/tynovsky/AnyEvent-RabbitMQ-PubSub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247612387,"owners_count":20966732,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T02:43:46.344Z","updated_at":"2026-03-04T00:06:22.373Z","avatar_url":"https://github.com/tynovsky.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/avast/AnyEvent-RabbitMQ-PubSub.svg?branch=master)](https://travis-ci.org/avast/AnyEvent-RabbitMQ-PubSub)\n# NAME\n\nAnyEvent::RabbitMQ::PubSub - Publish and consume RabbitMQ messages.\n\n# SYNOPSIS\n\n    # print 'received Hello World' and exit\n\n    use AnyEvent;\n    use AnyEvent::RabbitMQ::PubSub;\n    use AnyEvent::RabbitMQ::PubSub::Publisher;\n    use AnyEvent::RabbitMQ::PubSub::Consumer;\n\n    my ($rmq_connection, $channel) = AnyEvent::RabbitMQ::PubSub::connect(\n        host  =\u003e 'localhost',\n        port  =\u003e 5672,\n        user  =\u003e 'guest',\n        pass  =\u003e 'guest',\n        vhost =\u003e '/',\n    );\n\n    my $exchange = {\n        exchange    =\u003e 'my_test_exchange',\n        type        =\u003e 'topic',\n        durable     =\u003e 0,\n        auto_delete =\u003e 1,\n    };\n\n    my $queue = {\n        queue       =\u003e 'my_test_queue';\n        auto_delete =\u003e 1,\n    };\n\n    my $routing_key = 'my_rk';\n\n    my $cv = AnyEvent-\u003econdvar;\n\n    my $consumer = AnyEvent::RabbitMQ::PubSub::Consumer-\u003enew(\n        channel        =\u003e $channel,\n        exchange       =\u003e $exchange,\n        queue          =\u003e $queue,\n        routing_key    =\u003e $routing_key,\n    );\n    $consumer-\u003einit(); #declares channel, queue and binding\n    $consumer-\u003econsume(\n        $cv,\n        sub {\n            my ($consumer, $msg) = @_;\n            print 'received ', $msg-\u003e{body}-\u003epayload, \"\\n\";\n            $consumer-\u003eack($msg);\n            $cv-\u003esend();\n        },\n    );\n\n    my $publisher = AnyEvent::RabbitMQ::PubSub::Publisher-\u003enew(\n        channel     =\u003e $channel,\n        exchange    =\u003e $exchange,\n        routing_key =\u003e $routing_key,\n    );\n    $publisher-\u003einit(); #declares exchange;\n    $publisher-\u003epublish(body =\u003e 'Hello World');\n\n    $cv-\u003erecv();\n\n# DESCRIPTION\n\nAnyEvent::RabbitMQ::PubSub allows to easily create publishers and consumers\nof RabbitMQ messages.\n\n# LICENSE\n\nCopyright (C) Avast Software.\n\nThis library is free software; you can redistribute it and/or modify\nit under the same terms as Perl itself.\n\n# AUTHOR\n\nMiroslav Tynovsky \u003ctynovsky@avast.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynovsky%2Fanyevent-rabbitmq-pubsub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftynovsky%2Fanyevent-rabbitmq-pubsub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynovsky%2Fanyevent-rabbitmq-pubsub/lists"}