Did stuff with rabbitmq
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-07-26 15:18:08 +02:00
parent f15517af62
commit e64137ca56
4 changed files with 117 additions and 17 deletions

View File

@@ -6,7 +6,7 @@ from xeger import Xeger
from flask_restful import Resource
from flask import request, current_app, abort
import requests
import pika
from magic_ampq import magic_ampq
from db import db
from influxus import influx_db
from models import SampleMetadata
@@ -94,26 +94,14 @@ class SampleResource(Resource):
r = requests.post(
f"http://{current_app.config.get('STORAGE_HOSTNAME')}/object",
files=files)
files=files
)
if r.status_code not in [200, 201]:
return abort(500, f"Failed to upload sample to storage service. Upstream status: {r.status_code}: {r.text}")
try:
credentials = pika.PlainCredentials(current_app.config['FLASK_PIKA_PARAMS']['username'],
current_app.config['FLASK_PIKA_PARAMS']['password'])
connection = pika.BlockingConnection(
pika.ConnectionParameters(host=current_app.config['FLASK_PIKA_PARAMS']['host'],
credentials=credentials,
heartbeat=0,
socket_timeout=5))
channel = connection.channel()
channel.exchange_declare(exchange=current_app.config['EXCHANGE_NAME'],
exchange_type='direct')
channel.basic_publish(exchange=current_app.config['EXCHANGE_NAME'],
routing_key='feature',
body=json.dumps({'tag': generated_tag}).encode('UTF-8'))
connection.close()
magic_ampq.publish({'tag': generated_tag})
except Exception as e:
current_app.logger.exception(e)
return abort(569, "AMPQ Publish error")