From a7358eec02cf896c29bb3bce883d7088897952d3 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri <krish94@uab.edu> Date: Thu, 11 Mar 2021 02:07:29 -0600 Subject: [PATCH] added timeout function --- tasks.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tasks.py b/tasks.py index d96da27..6001440 100644 --- a/tasks.py +++ b/tasks.py @@ -2,6 +2,7 @@ import vars import sys import json import time +import signal from celery import Celery from flask_socketio import SocketIO @@ -13,6 +14,7 @@ broker_url = vars.broker_url celery = Celery('flask_user_reg', broker=broker_url) socketio = SocketIO(message_queue=vars.message_queue) +timeout = 60 def callback(channel, method, properties, body): msg = json.loads(body) @@ -33,6 +35,9 @@ def send_msg(event, room): print("Post '{}' to room '{}'".format(event,room)) socketio.emit(event, room=room) +def timeout_handler(signum, frame): + print("Process timeout, there's might some issue with agents") + rc_util.rc_rmq.stop_consume() @celery.task def celery_create_account(json, session): @@ -47,6 +52,12 @@ def celery_create_account(json, session): print(username) rc_util.add_account(username, email, fullname, reason) print('sent account info') + + # Set initial timeout timer + signal.signal(signal.SIGALRM, timeout_handler) + signal.setitimer(signal.ITIMER_REAL, timeout) + + print('Waiting for completion...') rc_util.consume(username, routing_key=f'complete.{username}', callback=callback) send_msg('account ready', room) -- GitLab