Skip to content
Snippets Groups Projects
tasks.py 1.85 KiB
Newer Older
root's avatar
root committed
import sys
Krish Moodbidri's avatar
Krish Moodbidri committed
import signal

from celery import Celery
from flask_socketio import SocketIO
root's avatar
root committed

broker_url = vars.broker_url
celery = Celery('flask_user_reg', broker=broker_url)

socketio = SocketIO(message_queue=vars.message_queue)
timeout = 30
def gen_f(room):
    def callback(channel, method, properties, body):
        msg = json.loads(body)
        username = msg['username']

        if msg['success']:
            print(f'Account for {username} has been created.')
            send_msg('account ready', room)
        else:
            print(f"There's some issue while creating account for {username}")
            errmsg = msg.get('errmsg', [])
            for err in errmsg:
                print(err)
            socketio.emit('account error', errmsg, room= room)

        rc_util.rc_rmq.stop_consume()
        rc_util.rc_rmq.delete_queue()
    return callback
Krish Moodbidri's avatar
Krish Moodbidri committed
def timeout_handler(signum, frame):
    print("Process timeout, there's might some issue with agents")
    socketio.emit('account error', errmsg, room= room)
Krish Moodbidri's avatar
Krish Moodbidri committed
    rc_util.rc_rmq.stop_consume()
    rc_util.rc_rmq.delete_queue()
def celery_create_account(json, session):
    username= json['username'] 
    email= json['email']
    fullname= json['fullname']
    reason= json['reason']
    queuename= rc_util.encode_name(username)
    print(time.strftime("%m-%d-%Y_%H:%M:%S") + '\tUser ' + username + ' added to queue')
    rc_util.add_account(username, queuename, email, fullname, reason, aup)
root's avatar
root committed
    print('sent account info')
    print('Waiting for completion...')
    rc_util.consume(queuename, routing_key=f'complete.{queuename}', callback=gen_f(room))