Как реализовать RabbitMQ для Python REST API? - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в Python REST API и RABBITMQ.У меня есть простой REST API, я хочу внедрить RABBITMQ в свой API, чтобы API мог реализовывать очереди RABBITMQ.Это мой код API:

import falcon, json
from myownmadelib import ngequery

class Vendors(object):
    def on_get(self,req,resp):
        # Query
        sql = """ SELECT * FROM vendors ORDER BY vendor_id DESC LIMIT 20; """
        # Variable for storing query result
        items = ngequery(sql, ())
        # Response body
        resp.body = json.dumps(items)
        resp.status = falcon.HTTP_200


app = falcon.API()
# things will handle all requests to the '/things' URL path
app.add_route('/vendors', Vendors())

И это мой код отправителя / издателя RABBITMQ

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')

data = 'Test Rabbit!'
channel.basic_publish(exchange='', routing_key='hello', body=data)
print("[x] Sent '%s'" % data)
connection.close()

А это мой код абонента / получателя rabbitmq

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

channel.basic_consume(callback, queue='hello', no_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

Мой вопрос заключается в том, как внедрить RABBITMQ в мой API, чтобы API мог реализовывать очереди RABBITMQ?это так же просто, как объединение кодов или есть какой-то другой способ?Приведу пример будет оценен.Спасибо

...