2016-01-29 01:34:12 +00:00
|
|
|
import os
|
|
|
|
import importlib
|
2015-11-15 08:23:57 +00:00
|
|
|
from sqlalchemy import create_engine
|
|
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
|
2015-11-15 18:31:58 +00:00
|
|
|
from celery import Celery
|
2015-11-15 08:23:57 +00:00
|
|
|
from celery.signals import worker_init, worker_shutdown
|
|
|
|
|
2016-01-29 01:34:12 +00:00
|
|
|
os.environ.setdefault('OGN_CONFIG_MODULE', 'config.default')
|
|
|
|
config = importlib.import_module(os.environ['OGN_CONFIG_MODULE'])
|
2015-11-15 08:23:57 +00:00
|
|
|
|
2015-11-15 18:31:58 +00:00
|
|
|
|
2015-11-15 08:23:57 +00:00
|
|
|
@worker_init.connect
|
2019-01-09 08:01:06 +00:00
|
|
|
def connect_db(sender=None, headers=None, body=None, **kwargs):
|
2015-11-15 08:23:57 +00:00
|
|
|
# Load settings like DB_URI...
|
2016-01-29 01:34:12 +00:00
|
|
|
engine = create_engine(config.SQLALCHEMY_DATABASE_URI, echo=False)
|
2015-11-15 08:23:57 +00:00
|
|
|
|
|
|
|
Session = sessionmaker(bind=engine)
|
|
|
|
sender.app.session = Session()
|
|
|
|
|
2015-11-15 18:31:58 +00:00
|
|
|
|
2015-11-15 08:23:57 +00:00
|
|
|
@worker_shutdown.connect
|
2019-01-09 08:01:06 +00:00
|
|
|
def close_db(sender=None, headers=None, body=None, **kwargs):
|
2015-11-15 08:23:57 +00:00
|
|
|
sender.app.session.close()
|
|
|
|
|
|
|
|
|
2019-03-09 20:59:03 +00:00
|
|
|
app = Celery('ogn_python.collect',
|
2019-01-09 08:01:06 +00:00
|
|
|
backend='amqp://',
|
2019-03-09 20:59:03 +00:00
|
|
|
include=["ogn_python.collect.database",
|
|
|
|
"ogn_python.collect.logbook",
|
|
|
|
"ogn_python.collect.stats",
|
|
|
|
"ogn_python.collect.takeoff_landings",
|
|
|
|
"ogn_python.collect.ognrange"
|
2016-02-04 17:31:58 +00:00
|
|
|
])
|
2016-01-29 01:34:12 +00:00
|
|
|
|
|
|
|
app.config_from_envvar("OGN_CONFIG_MODULE")
|