from celery.exceptions import TimeoutError _paragraph_re = re.compile(r'(?:\r\n|\r|\n){2,}') ALLOWED_EXTENSIONS = set(['jpg', 'jpeg', 'png', 'gif', 'bmp']) flask_app = Flask(__name__) flask_app.config.from_object('config') flask_app.debug = os.getenv('DEBUG') == "True" for key in ('AWS_SEEDOKU_WRITE_KEY', 'AWS_SEEDOKU_WRITE_SECRET', 'AWS_S3_BUCKET_URL', 'AWS_SEEDOKU_READ_KEY', 'AWS_SEEDOKU_READ_SECRET', 'AWS_SEEDOKU_S3_BUCKET', 'CELERY_BROKER_URL', 'CELERY_RESULT_BACKEND'): flask_app.config[key] = environ[key] celery_app = make_celery(flask_app) su = Sudoku() seedoku = SeedokuTask(flask_app.config, 'SVM.p.gz') @celery_app.task(name="tasks.async_image_to_puzzle") def async_image_to_puzzle(key): return seedoku.aws_upload_key_to_puzzle(key) @flask_app.route('/', methods=['GET', 'POST']) def upload_to_s3(): if request.method == 'POST': key = request.json.get('key')
# -*- coding: utf-8 -*- from flask_mail import Message from extensions import mail from run_celery import make_celery celeryapp = make_celery() @celeryapp.task def send_email(email, theme, message): msg = Message(theme, recipients=[email]) msg.body = message + u"\n" return mail.send(msg)