-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
24 lines (20 loc) · 787 Bytes
/
app.py
File metadata and controls
24 lines (20 loc) · 787 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from flask import Flask, request, jsonify
from kafka import KafkaProducer
import json
app = Flask(__name__)
# Set up Kafka Producer
kafka_producer = KafkaProducer(bootstrap_servers='localhost:9092',
value_serializer=lambda v: json.dumps(v).encode('utf-8'))
@app.route('/send', methods=['POST'])
def send_data():
try:
data = request.get_json()
print(f"Received data: {data}") # Debug: Print received data
kafka_producer.send('track_orders', value=data)
kafka_producer.flush()
return jsonify({"message": "Data sent to Kafka"}), 200
except Exception as e:
print(f"Error sending data: {e}")
return jsonify({"error": str(e)}), 500
if __name__ == "__main__":
app.run(port=5000,debug=True)