diff options
Diffstat (limited to 'snekbox.py')
-rw-r--r-- | snekbox.py | 23 |
1 files changed, 10 insertions, 13 deletions
@@ -1,23 +1,14 @@ -import traceback import sys -import time -import pika import io import json from rmq.consumer import consume from rmq.publisher import publish -from config import USERNAME -from config import PASSWORD from config import HOST -from config import PORT -from config import EXCHANGE from config import EXCHANGE_TYPE from config import QUEUE -from config import RETURN_QUEUE -from config import RETURN_EXCHANGE -from config import RETURN_ROUTING_KEY + def execute(snippet): old_stdout = sys.stdout @@ -38,15 +29,21 @@ def execute(snippet): def message_handler(ch, method, properties, body): msg = body.decode('utf-8') - # Execute code snippets here print(f"incoming: {msg}", flush=True) snek_msg = json.loads(msg) + for snekid, snekcode in snek_msg.items(): result = execute(snekcode) print(f"outgoing: {result}", flush=True) - publish(result, host=HOST, queue=snekid, routingkey=snekid, exchange=snekid, exchange_type=EXCHANGE_TYPE) + publish(result, + host=HOST, + queue=snekid, + routingkey=snekid, + exchange=snekid, + exchange_type=EXCHANGE_TYPE) + + ch.basic_ack(delivery_tag=method.delivery_tag) - ch.basic_ack(delivery_tag = method.delivery_tag) if __name__ == '__main__': consume(host=HOST, queue=QUEUE, callback=message_handler) |