Consistency pass for strings and logs python/C#

This commit is contained in:
Paul Yuknewicz 2022-02-06 21:33:09 -08:00 committed by Artur Souza
parent d5d37cebd3
commit e37a05a5e4
6 changed files with 23 additions and 26 deletions

View File

@ -16,7 +16,7 @@ while (true) {
var orderJson = JsonSerializer.Serialize<Order>(order); var orderJson = JsonSerializer.Serialize<Order>(order);
var content = new StringContent(orderJson, Encoding.UTF8, "application/json"); var content = new StringContent(orderJson, Encoding.UTF8, "application/json");
//Publish an event/message using Dapr PubSub via HTTP Post // Publish an event/message using Dapr PubSub via HTTP Post
var response = httpClient.PostAsync($"{baseURL}/v1.0/publish/{PUBSUBNAME}/{TOPIC}", content); var response = httpClient.PostAsync($"{baseURL}/v1.0/publish/{PUBSUBNAME}/{TOPIC}", content);
Console.WriteLine("Published data: " + order); Console.WriteLine("Published data: " + order);

View File

@ -8,7 +8,7 @@ while(true) {
var order = new Order(random.Next(1,1000)); var order = new Order(random.Next(1,1000));
using var client = new DaprClientBuilder().Build(); using var client = new DaprClientBuilder().Build();
//Publish a message using Dapr pub/sub // Publish an event/message using Dapr PubSub
await client.PublishEventAsync("order_pub_sub", "orders", order); await client.PublishEventAsync("order_pub_sub", "orders", order);
Console.WriteLine("Published data: " + order); Console.WriteLine("Published data: " + order);

View File

@ -1,4 +1,3 @@
#from dapr.clients import DaprClient
import json import json
import time import time
import random import random
@ -8,19 +7,19 @@ import os
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
baseURL = os.getenv('BASE_URL', 'http://localhost') + ':' + os.getenv( base_url = os.getenv('BASE_URL', 'http://localhost') + ':' + os.getenv(
'DAPR_HTTP_PORT', '3500') 'DAPR_HTTP_PORT', '3500')
PUBSUB_NAME = 'order_pub_sub' PUBSUB_NAME = 'order_pub_sub'
ORDERS = 'orders' TOPIC = 'orders'
logging.info('Publishing to baseURL: %s, Pubsub Name: %s, Topic: %s' % ( logging.info('Publishing to baseURL: %s, Pubsub Name: %s, Topic: %s' % (
baseURL, PUBSUB_NAME, ORDERS)) base_url, PUBSUB_NAME, TOPIC))
while True: while True:
order = {'orderid': random.randint(1, 1000)} order = {'orderid': random.randint(1, 1000)}
data = json.dumps(order)
# Publish an event/message using Dapr PubSub via HTTP Post
result = requests.post('%s/v1.0/publish/%s/%s' % ( result = requests.post('%s/v1.0/publish/%s/%s' % (
baseURL, PUBSUB_NAME, ORDERS), data) base_url, PUBSUB_NAME, TOPIC), json=order)
logging.info('Published data: ' + data) logging.info('Published data: ' + json.dumps(order))
time.sleep(1) time.sleep(1)

View File

@ -1,25 +1,23 @@
from flask import Flask, request, jsonify from flask import Flask, request, jsonify
from cloudevents.http import from_http
import json import json
app = Flask(__name__) app = Flask(__name__)
# Dapr will send pub/sub events to routes defined in subscriptions # Register Dapr pub/sub subscriptions
@app.route('/dapr/subscribe', methods=['GET']) @app.route('/dapr/subscribe', methods=['GET'])
def subscribe(): def subscribe():
subscriptions = [{'pubsubname': 'order_pub_sub', subscriptions = [{'pubsubname': 'order_pub_sub',
'topic': 'orders', 'route': 'orders'}] 'topic': 'orders', 'route': 'orders'}]
print('Dapr pub/sub is subscribed to: ' + json.dumps(subscriptions))
return jsonify(subscriptions) return jsonify(subscriptions)
# Dapr subscription routes orders topic to this route # Dapr subscription in /dapr/subscribe sets up this route
@app.route('/orders', methods=['POST']) @app.route('/orders', methods=['POST'])
def orders_subscriber(): def orders_subscriber():
print('raw:' + json.dumps(request.get_json)) event_orderid = request.json['data']['orderid']
event = from_http(request.headers, request.get_data()) print('Subscriber received : ' + json.dumps(event_orderid), flush=True)
print('Received message "{}" on topic "{}"'.format(
event.data['orderid'], event['topic']), flush=True)
return json.dumps({'success': True}), 200, { return json.dumps({'success': True}), 200, {
'ContentType': 'application/json'} 'ContentType': 'application/json'}

View File

@ -7,16 +7,16 @@ import logging
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
while True: while True:
order = {"orderid": random.randint(1, 1000)} order = {'orderid': random.randint(1, 1000)}
with DaprClient() as client: with DaprClient() as client:
# publish an event using Dapr pub/sub # Publish an event/message using Dapr PubSub
result = client.publish_event( result = client.publish_event(
pubsub_name="order_pub_sub", pubsub_name='order_pub_sub',
topic_name="orders", topic_name='orders',
data=json.dumps(order), data=json.dumps(order),
data_content_type="application/json", data_content_type='application/json',
) )
logging.info("Published data: " + json.dumps(order)) logging.info('Published data: ' + json.dumps(order))
time.sleep(1) time.sleep(1)

View File

@ -5,20 +5,20 @@ import json
app = Flask(__name__) app = Flask(__name__)
# Dapr will send pub/sub events to routes defined in subscriptions # Register Dapr pub/sub subscriptions
@app.route('/dapr/subscribe', methods=['GET']) @app.route('/dapr/subscribe', methods=['GET'])
def subscribe(): def subscribe():
subscriptions = [{'pubsubname': 'order_pub_sub', subscriptions = [{'pubsubname': 'order_pub_sub',
'topic': 'orders', 'route': 'orders'}] 'topic': 'orders', 'route': 'orders'}]
print('Dapr pub/sub is subscribed to: ' + json.dumps(subscriptions))
return jsonify(subscriptions) return jsonify(subscriptions)
# Dapr subscription routes orders topic to this route # Dapr subscription in /dapr/subscribe sets up this route
@app.route('/orders', methods=['POST']) @app.route('/orders', methods=['POST'])
def orders_subscriber(): def orders_subscriber():
event = from_http(request.headers, request.get_data()) event = from_http(request.headers, request.get_data())
print('Received message "{}" on topic "{}"'.format( print('Subscriber received : ' + event.data['orderid'], flush=True)
event.data['orderid'], event['topic']), flush=True)
return json.dumps({'success': True}), 200, { return json.dumps({'success': True}), 200, {
'ContentType': 'application/json'} 'ContentType': 'application/json'}