def app(): db_fd, db_path = tempfile.mkstemp() app = create_app(config_test=dict(TESTING=True, DATABASE=f'sqlite:///{db_path}', CELERY_ALWAYS_EAGER=True)) make_celery(app) with app.app_context(): init_db() yield app os.close(db_fd) os.unlink(db_path)
from app.api.exports import event_export_task_base from app.api.imports import import_event_task_base from app.models.event import Event from app.models.order import Order from app.models.sponsor import Sponsor from app.models.discount_code import DiscountCode from app.models.ticket_holder import TicketHolder from app.api.helpers.ICalExporter import ICalExporter from app.api.helpers.xcal import XCalExporter from app.api.helpers.pentabarfxml import PentabarfExporter from app.api.helpers.storage import UploadedFile, upload, UPLOAD_PATHS from app.api.helpers.db import save_to_db from app.api.helpers.files import create_save_pdf import urllib.error celery = make_celery() @celery.task(name='send.email.post') def send_email_task(payload, headers): data = {"personalizations": [{"to": []}]} data["personalizations"][0]["to"].append({"email": payload["to"]}) data["from"] = {"email": payload["from"]} data["subject"] = payload["subject"] data["content"] = [{"type": "text/html", "value": payload["html"]}] logging.info('Sending an email regarding {} on behalf of {}'.format( data["subject"], data["from"])) try: requests.post( "https://api.sendgrid.com/v3/mail/send", data=json.dumps(data),
from app import create_app, make_celery APP = create_app('config') celery = make_celery(APP) from app.tasks.predict import training_and_prediction_task celery.tasks.register(training_and_prediction_task)
from app import create_app, make_celery app = create_app('config', register_blueprints=False) celery = make_celery(app) from app.tasks.detect import detect_celery_task from app.tasks.diagnose import diagnose_celery_task from app.tasks.train import train_celery_task celery.tasks.register(detect_celery_task) celery.tasks.register(diagnose_celery_task) celery.tasks.register(train_celery_task)
from app.models.user import User from app.models import db from app.api.exports import event_export_task_base from app.api.imports import import_event_task_base from app.models.event import Event from app.models.order import Order from app.models.discount_code import DiscountCode from app.models.ticket_holder import TicketHolder from app.api.helpers.ICalExporter import ICalExporter from app.api.helpers.xcal import XCalExporter from app.api.helpers.pentabarfxml import PentabarfExporter from app.api.helpers.storage import UploadedFile, upload, UPLOAD_PATHS from app.api.helpers.db import save_to_db from app.api.helpers.files import create_save_pdf celery = make_celery() @celery.task(name='send.email.post') def send_email_task(payload, headers): data = {"personalizations": [{"to": []}]} data["personalizations"][0]["to"].append({"email": payload["to"]}) data["from"] = {"email": payload["from"]} data["subject"] = payload["subject"] data["content"] = [{"type": "text/html", "value": payload["html"]}] requests.post( "https://api.sendgrid.com/v3/mail/send", data=json.dumps(data), headers=headers, verify=False # doesn't work with verification in celery context )
from app import create_app, make_celery application = create_app() celery = make_celery(application)
""" import os import sys from app import create_app, db, make_celery from app.models import User, Role, Post, Follow, Comment, Like, TagTree, Tag, Notify, UserNotify, Subscribe from flask.ext.script import Manager, Shell from flask.ext.migrate import Migrate, MigrateCommand # Append parent dir to path sys.path.append('..') app = create_app(os.getenv('FLASK_CONFIG') or 'default') manager = Manager(app) migrate = Migrate(app, db) celery = make_celery(app) def make_shell_context(): """ this function works as: >>>from *** import app, db, User, Role """ return dict(app=app, db=db, User=User, Role=Role, Post=Post, Follow=Follow, Comment=Comment, Like=Like, TagTree=TagTree, Tag=Tag, Notify=Notify, UserNotify=UserNotify, Subscribe=Subscribe) manager.add_command("shell", Shell(make_context=make_shell_context)) manager.add_command('db', MigrateCommand) COV = None if os.environ.get('FLASK_COVERAGE'): import coverage