kopia lustrzana https://github.com/glidernet/ogn-python
31 wiersze
735 B
Python
31 wiersze
735 B
Python
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
from celery import Celery
|
|
from celery.signals import worker_init, worker_shutdown
|
|
|
|
app = Celery('ogn.collect',
|
|
broker='redis://localhost:6379/0',
|
|
backend='redis://localhost:6379/0',
|
|
include=["ogn.collect.database", "ogn.collect.logbook"])
|
|
|
|
DB_URI = 'sqlite:///beacons.db'
|
|
|
|
|
|
@worker_init.connect
|
|
def connect_db(signal, sender):
|
|
# Load settings like DB_URI...
|
|
engine = create_engine(DB_URI, echo=False)
|
|
|
|
Session = sessionmaker(bind=engine)
|
|
sender.app.session = Session()
|
|
|
|
|
|
@worker_shutdown.connect
|
|
def close_db(signal, sender):
|
|
sender.app.session.close()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.start()
|