From 743d2ef1d03fd914b535443e3b6e6263619ba3d7 Mon Sep 17 00:00:00 2001 From: mozzie Date: Wed, 13 Sep 2023 18:10:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20python=E6=8E=A5=E5=85=A5nats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/services/alg/app.py | 34 +++++++++++----------- apps/services/alg/requirements.txt | 2 +- apps/services/logger/src/app.controller.ts | 5 ++-- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/apps/services/alg/app.py b/apps/services/alg/app.py index b89a40d..ddc6db9 100644 --- a/apps/services/alg/app.py +++ b/apps/services/alg/app.py @@ -1,22 +1,22 @@ -from flask import Flask, request, jsonify -import nats.aio.client -import asyncio +from flask import Flask, jsonify +from pynats2 import NATSClient +import json app = Flask(__name__) -nc = nats.aio.client.Client() -@app.route('/send_to_nats', methods=['POST']) -def send_to_nats(): - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - loop.run_until_complete(send_message(request.json)) - print("1") - return 111 +@app.route('/publish', methods=['POST']) +def publish_to_nats(): + data_dict = { + "key": "value", + "number": 123, + "list": [1, 2, 3] + } + data_str = json.dumps(data_dict) + # 将字符串转换为bytes + data_bytes = data_str.encode('utf-8') + with NATSClient() as client: + client.publish("alg.test", payload=data_bytes) + return jsonify({'message': 'Message sent successfully!'}) -async def send_message(message): - await nc.connect(servers=["nats://localhost:4222"]) - await nc.publish(jsonify({"cmd": "alg.test"}), str(message).encode()) - await nc.close() - -if __name__ == "__main__": +if __name__ == '__main__': app.run(debug=True) diff --git a/apps/services/alg/requirements.txt b/apps/services/alg/requirements.txt index 515b920..1f0559d 100644 --- a/apps/services/alg/requirements.txt +++ b/apps/services/alg/requirements.txt @@ -1,2 +1,2 @@ flask -asyncio-nats-client \ No newline at end of file +pynats2 \ No newline at end of file diff --git a/apps/services/logger/src/app.controller.ts b/apps/services/logger/src/app.controller.ts index 7dc357e..fed2aaf 100644 --- a/apps/services/logger/src/app.controller.ts +++ b/apps/services/logger/src/app.controller.ts @@ -30,8 +30,9 @@ export class AppController { return 'ok'; } - @EventPattern({ cmd: 'alg.test' }) + @EventPattern('alg.test') async algTest(payload) { - return 'ok'; + console.log('来自: alg.test', payload); + return payload; } }