amqp | Go client for AMQP | Pub Sub library

 by   streadway Go Version: v1.0.0 License: BSD-2-Clause

kandi X-RAY | amqp Summary

kandi X-RAY | amqp Summary

amqp is a Go library typically used in Messaging, Pub Sub, RabbitMQ applications. amqp has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Go client for AMQP 0.9.1
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              amqp has a medium active ecosystem.
              It has 4646 star(s) with 636 fork(s). There are 102 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 70 open issues and 295 have been closed. On average issues are closed in 198 days. There are 24 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of amqp is v1.0.0

            kandi-Quality Quality

              amqp has 0 bugs and 0 code smells.

            kandi-Security Security

              amqp has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              amqp code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              amqp is licensed under the BSD-2-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              amqp releases are not available. You will need to build from source code and install.
              It has 9897 lines of code, 602 functions and 34 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of amqp
            Get all kandi verified functions for this library.

            amqp Key Features

            No Key Features are available at this moment for amqp.

            amqp Examples and Code Snippets

            The AMQP container bean
            javadot img1Lines of Code : 7dot img1License : Permissive (MIT License)
            copy iconCopy
            @Bean
                @ConditionalOnProperty(
                  value = "amqp.configuration.current",
                  havingValue = "simple-dlq")
                public SimpleDLQAmqpContainer simpleAmqpContainer() {
                    return new SimpleDLQAmqpContainer(rabbitTemplate);
                }  
            Create AMQP Admin bean .
            javadot img2Lines of Code : 4dot img2License : Permissive (MIT License)
            copy iconCopy
            @Bean
                public AmqpAdmin amqpAdmin() {
                    return new RabbitAdmin(connectionFactory());
                }  
            Entry point for the Amqp server .
            javadot img3Lines of Code : 3dot img3License : Permissive (MIT License)
            copy iconCopy
            public static void main(String[] args) {
                    SpringApplication.run(AmqpServer.class, args);
                }  

            Community Discussions

            QUESTION

            PRECONDITION_FAILED: Delivery Acknowledge Timeout on Celery & RabbitMQ with Gevent and concurrency
            Asked 2022-Mar-05 at 01:40

            I just switched from ForkPool to gevent with concurrency (5) as the pool method for Celery workers running in Kubernetes pods. After the switch I've been getting a non recoverable erro in the worker:

            amqp.exceptions.PreconditionFailed: (0, 0): (406) PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed out. Timeout value used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more

            The broker logs gives basically the same message:

            2021-11-01 22:26:17.251 [warning] <0.18574.1> Consumer None4 on channel 1 has timed out waiting for delivery acknowledgement. Timeout used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more

            I have the CELERY_ACK_LATE set up, but was not familiar with the necessity to set a timeout for the acknowledgement period. And that never happened before using processes. Tasks can be fairly long (60-120 seconds sometimes), but I can't find a specific setting to allow that.

            I've read in another post in other forum a user who set the timeout on the broker configuration to a huge number (like 24 hours), and was also having the same problem, so that makes me think there may be something else related to the issue.

            Any ideas or suggestions on how to make worker more resilient?

            ...

            ANSWER

            Answered 2022-Mar-05 at 01:40

            For future reference, it seems that the new RabbitMQ versions (+3.8) introduced a tight default for consumer_timeout (15min I think).

            The solution I found (that has also been added to Celery docs not long ago here) was to just add a large number for the consumer_timeout in RabbitMQ.

            In this question, someone mentions setting consumer_timeout to false, in a way that using a large number is not needed, but apparently there's some specifics regarding the format of the configuration for that to work.

            I'm running RabbitMQ in k8s and just done something like:

            Source https://stackoverflow.com/questions/69828547

            QUESTION

            Message not dispatched async despite configuring the handler route to be async in Symfony Messenger
            Asked 2022-Mar-02 at 15:39

            I'm working with Symfony 4.4 and Symfony Messenger

            Messenger configuration includes a transport and routing:

            ...

            ANSWER

            Answered 2022-Mar-02 at 15:37

            For some reason this seems to be an error that happens with some frequency, so I rather post an answer instead of a comment.

            You are supposed to add message classes to the routing configuration, not handler classes.

            Your configuration should be, if you want that message to be manages asynchronously:

            Source https://stackoverflow.com/questions/71324758

            QUESTION

            Cloud2Edge package: error connectivity:connection.id.enforcement.failed
            Asked 2022-Feb-14 at 07:56

            I'm testing a deployment of the Eclipse IoT Cloud2Edge package and have followed the instructions here https://www.eclipse.org/packages/packages/cloud2edge/tour/ to test. After creating the new tenant and device, and configuring the connection between Hono and Ditto, I can send telemetry to the new device via the Hono http adapter as shown here:

            ...

            ANSWER

            Answered 2022-Feb-14 at 07:56

            What you configured is the Connection source enforcement which makes sure that a Hono device (identified via the AMQP header device_id) may only updates the twin with the same "thing id" in Ditto.

            That enforcement fails as your thingId you set in the Ditto Protocol JSON is my-tenant:org.acme:my-device-1 - the topic's first segment is the namespace, the second segment the name - combined those 2 segments become the "thing ID", see also: Protocol topic specification.

            So you probably want to send the following message instead:

            Source https://stackoverflow.com/questions/71104483

            QUESTION

            Elixir release inside Docker container without Rabbit MQ Connection
            Asked 2022-Jan-15 at 00:02

            I am very new to Elixir. I have built an app which runs locally, which works fine. But now i need to build a container for it with Docker.

            However, every attempt to do a release seems to try and connection to RabbitMQ (which is running locally, as a Docker Container).

            I don't want, cant have it try and connect to Rabbit each time this container is built, as it will need to be built by a CI / CD pipeline and will never have access to any Rabbit. I have set it up with an ENV, but this needs to be set within my YAML when deploying to my k8s cluster.

            So this is the Dockerfile:

            ...

            ANSWER

            Answered 2022-Jan-15 at 00:02

            I have tried to create a project such as yours.

            Source https://stackoverflow.com/questions/70712681

            QUESTION

            WSO2 java.lang.ClassNotFoundException: javax.jms.JMSContext
            Asked 2022-Jan-07 at 14:29

            In our company we use WSO2 EI V6.4. I made the configuration sur connect to azure service bus with this guide and all is working

            Now we have to use the last patched version of EI 6.4, and when i made the same configuration, I get this error

            ...

            ANSWER

            Answered 2021-Dec-21 at 22:17

            I have had similar problem and used version of qpid-jms-client-0.11.1 thats works for me. I get it from this Maven repository

            Source https://stackoverflow.com/questions/70431270

            QUESTION

            RabbitMQ, Celery and Django - connection to broker lost. Trying to re-establish the connection
            Asked 2021-Dec-23 at 15:56

            Celery disconnects from RabbitMQ each time a task is passed to rabbitMQ, however the task does eventually succeed:

            My questions are:

            1. How can I solve this issue?
            2. What improvements can you suggest for my celery/rabbitmq configuration?

            Celery version: 5.1.2 RabbitMQ version: 3.9.0 Erlang version: 24.0.4

            RabbitMQ error (sorry for the length of the log:

            ...

            ANSWER

            Answered 2021-Aug-02 at 07:25

            Same problem here. Tried different settings but with no solution.

            Workaround: Downgrade RabbitMQ to 3.8. After downgrading there were no connection errors anymore. So, I think it must have something to do with different behavior of v3.9.

            Source https://stackoverflow.com/questions/68602834

            QUESTION

            RabbitMQ Queue Length is always 0
            Asked 2021-Nov-27 at 17:39

            I was writing an application and I had this issue, looking the code over and over, nothing seems to be wrong, tested with the below basic snippet and the issue is reproducible .... RabbitMQ is saying the queue is always empty when it is not.

            The below Golang snippet shows a producer sending messages more often than the consumer consuming them. The consumer is always active but sleeping longer to make the queue have messages in its backlog. Result? The consumer fetches messages each time it tries however the API is always saying there are no messages -> message count is 0.

            ...

            ANSWER

            Answered 2021-Nov-27 at 15:36

            The field q2.Messages is unreliable, it is the count of messages not awaiting acknowledgment, i.e. messages already ACK'ed.

            Your consumer is declared with autoAck = true — i.e. noAck —, which means that no acknowledgements are expected, which means that there are zero messages already ACK'ed.

            When you comment out the consumer, the number of acknowledged messages likely depends on the publisher buffer.

            Getting a precise number of messages programmatically on a given queue with AMQP 0.9.1 is basically not possible. You may use the message_stats field in the management API instead:

            Source https://stackoverflow.com/questions/70134943

            QUESTION

            Unable to get Topic Exchange to Work in RabbitMQ AMQP 1.0
            Asked 2021-Nov-10 at 12:12

            I am finding it very difficult to work with RabbitMQ and AMQP 1.0, particularly as it pertains to topic exchanges using AMQPNetLite. I am unable to send a message using a topic exchange to a specific queue. I'm not even using wildcards.

            My situation is super simple too. I have one topic exchange. I have one queue that the topic exchange sends to. When I send to the topic exchange, the queue never receives the message.

            ...

            ANSWER

            Answered 2021-Nov-10 at 12:12

            i think you mix two ways of doing it. Either you publish to address "/topic/test" -where test is your routingkey OR you publish to "/exchange/test.exchange" and set the Subject-property to "test".

            Both works. if you use the "/topic/"-prefix in your address you are going through the default "amq.topic"-exchange and not your own "test-exchange".

            made sense? more information in the "Routing and Addressing"-secion here: https://github.com/rabbitmq/rabbitmq-amqp1.0

            Source https://stackoverflow.com/questions/69800475

            QUESTION

            Celery + FastAPI on docker, the app container does not sync with Celery thus I can't use it
            Asked 2021-Nov-09 at 18:24

            So I'm building a webapp using FastAPI. I use Celery to run some background tasks. My code works fine on my local development machine, but when I try to dockerize it, it seems the FastAPI app running on a container, can't sync with celery. For instance I have 4 containers:

            If I start the webapp locally on my computer, and don't start the padel-checker-web-1 container and only use the other 3, celery on docker syncs with it and works.

            My problem is having the webapp running inside docker and using celery, they just don't sync.

            I'm pasting my docker-compose.yml to see if someone can point me in the right direction:

            ...

            ANSWER

            Answered 2021-Nov-09 at 18:24

            I've fixed my docker-compose.yml, I guess it was the depends_on:

            Source https://stackoverflow.com/questions/69900669

            QUESTION

            Rabbit MQ + Spring Boot: delay between resend broken messages
            Asked 2021-Oct-20 at 15:44

            I'm creating application using Spring Boot with RabbitMQ. I've created configuration for Rabbit like this:

            ...

            ANSWER

            Answered 2021-Oct-20 at 15:44

            Rabbit starts resend last not processed message without any delay

            That's how redelivery works: it re-push the same message again and again, until you ack it manually or drop altogether. There is no delay in between redeliveries just because an new message is not pulled from the queue until something is done with this one.

            I can't define infinity attempt amount in options maxAttempts

            Have you tried an Integer.MAX_VALUE? Pretty decent number of attempts.

            The other way is to use a Delayed Exchange: https://docs.spring.io/spring-amqp/docs/current/reference/html/#delayed-message-exchange.

            You can configure that retry with a RepublishMessageRecoverer to publish into a your original queue back after some attempts are exhausted: https://docs.spring.io/spring-amqp/docs/current/reference/html/#async-listeners

            Source https://stackoverflow.com/questions/69594640

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install amqp

            You can download it from GitHub.

            Support

            This library supports two most recent Go release series, currently 1.10 and 1.11.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/streadway/amqp.git

          • CLI

            gh repo clone streadway/amqp

          • sshUrl

            git@github.com:streadway/amqp.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Pub Sub Libraries

            EventBus

            by greenrobot

            kafka

            by apache

            celery

            by celery

            rocketmq

            by apache

            pulsar

            by apache

            Try Top Libraries by streadway

            handy

            by streadwayGo

            ngx_txid

            by streadwayC

            simpleuuid

            by streadwayGo

            hello-debian

            by streadwayC

            quantile

            by streadwayGo