Skip to main content

Message Queue Tools for flask project

Project description

DASIMA

Quick start

setting parameters

MESSAGE_QUEUE_HOST = "localhost" # your Message Queue host ex) redis://0.0.0.0, amqp://id:password@0.0.0.0:port
MESSAGE_QUEUE_ACCEPT_TYPE = "json" # sending data type json, pickle ...
MESSAGE_QUEUE_EXCHANGE_SETTING = [("dasima_test", "topic"),]

Subscriber

from flask import Flask
from dasima import DasimaMQ

app = Flask(__name__)

dasimamq = DasimaMQ()
dasimamq.init_app(app) # 또는 DasimaMQ(app) 바로 flask app을 넣어 주어서 auto init_app 가능

# subscribe을 통해서 함수의 구독이 가능함
# 구독한 함수 이름의 큐가 만들어 지며 설정한 routing key로 바인딩
#dasimamq.{exchange}.subscribe("바인딩 시킬 라우팅 키")
@dasimamq.dasima_test.subscribe("test_routing_key")
def test_function(x, y):
  print(x + y)
  return x + y


if __name__ == "__main__":
  # run_subscribers 함수를 통해서
  # 지금까지 설정된 큐와 큐의 메세지를 소비하는 Comsumer를 생성 해줌
  dasimamq.run_subscribers()
  app.run(port=5050)

Publisher

from flask import Flask
from dasima import DasimaMQ

app = Flask(__name__)

dasimamq = DasimaMQ()
dasimamq.init_app(app) # 또는 DasimaMQ(app) 바로 flask app을 넣어 주어서 auto init_app 가능

@app.route("/")
def send_message():
  #dasimamq.{exchange}.send_message(전송 데이터 dict type, "요청을 보낼 라우팅키")
  dasimamq.dasima_test.send_message({"x": 1, "y": 2}, "test_routing_key")
  return {"data": "send message successful"}

if __name__ == "__main__":
  app.run(port=5000)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dasima-0.1.3-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page