· 7 years ago · Aug 15, 2018, 11:22 PM
1from flask_stormpath import StormpathManager
2from app import create_app
3from celery import Celery
4
5app = create_app('DevelopmentConfig')
6stormpath_manager = StormpathManager(app)
7celery = Celery(app.name, broker=app.config.from_object('CELERY_BROKER_URL'))
8celery.conf.update(app.config)
9
10if __name__ == '__main__':
11 app.run()
12
13class Config:
14
15 SECRET_KEY = 'something_very_secret'
16 broker_url = 'sqs://'
17 broker_transport_options = {'region': 'eu-west-1',
18 'visibility_timeout': 3600,
19 'polling_interval': 0.3,
20 'queue_name_prefix': 'celery-'}
21
22
23 csrf = SECRET_KEY
24 CELERY_BROKER_URL = 'redis://localhost:6379/0'
25 CELERY_RESULT_BACKEND = 'redis: //localhost:6379/0'
26
27 @staticmethod
28 def init_app(app):
29 pass
30
31class DevelopmentConfig(Config):
32 JUST_SOMETHING = 'a_little_trick'
33 DEBUG = True
34 STORMPATH_API_KEY_FILE = '/.stormpath/apiKey.properties'
35 STORMPATH_APPLICATION = 'flask-test'
36 CELERY_BROKER_URL = 'redis://localhost:6379/0'
37 CELERY_RESULT_BACKEND = 'redis: //localhost:6379/0'
38
39
40class ProductionConfig(Config):
41 JUST_SOMETHING = 'a_little_trick'
42 DEBUG = True
43 STORMPATH_API_KEY_FILE = '/.stormpath/apiKey.properties'
44 STORMPATH_APPLICATION = 'flask-test'
45 CELERY_BROKER_URL = 'sqs://'
46
47config = {'development': DevelopmentConfig,
48 'default': DevelopmentConfig}
49
50from flask import render_template, flash, request, jsonify, Response
51from wtforms import Form, validators, SelectMultipleField, widgets
52from flask_stormpath import login_required
53from . import main
54import numpy as np
55
56
57
58class MultiCheckboxField(SelectMultipleField):
59 widget = widgets.ListWidget(prefix_label=False)
60 option_widget = widgets.CheckboxInput()
61
62
63@celery.task(bin=True)
64def do_something(test, training_size, testing_size):
65
66from flask import Flask
67from celery import Celery
68
69def create_app(config_name):
70 app = Flask(__name__)
71 configuration = "config."+config_name
72 app.config.from_object(configuration)
73
74 celery = Celery(app.name, broker=app.config.from_object('CELERY_BROKER_URL'))
75 celery.conf.update(app.config)
76
77
78 from .main import main as main_blueprint
79 app.register_blueprint(main_blueprint)
80
81 return app