예제 #1
0
파일: app.py 프로젝트: RoryQ/sudoku-solver
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')
예제 #2
0
# -*- 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)