diff --git a/eatsmart/locations/durham/tasks.py b/eatsmart/locations/durham/tasks.py new file mode 100644 index 0000000..79f6f20 --- /dev/null +++ b/eatsmart/locations/durham/tasks.py @@ -0,0 +1,17 @@ +from logging import getLogger + +from eatsmart.celery import app +from eatsmart.locations.durham import api + + +logger = getLogger(__file__) + + +@app.task +def import_durham_data(): + """Import Durham data""" + logger.info("Starting Durham Import") + api.EstablishmentImporter().run() + api.InspectionImporter().run() + api.ViolationImporter().run() + logger.info("Finished Durham Import") diff --git a/eatsmart/settings/base.py b/eatsmart/settings/base.py index d3dc13c..50e2499 100644 --- a/eatsmart/settings/base.py +++ b/eatsmart/settings/base.py @@ -1,5 +1,7 @@ # Django settings for eatsmart project. import os +from celery.schedules import crontab + PROJECT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) PROJECT_ROOT = os.path.abspath(os.path.join(PROJECT_PATH, os.pardir)) @@ -222,3 +224,10 @@ # Default user location LATITUDE = 35.988611 LONGITUDE = -78.907222 + +CELERYBEAT_SCHEDULE = { + 'import-durham-data': { + 'task': 'eatsmart.locations.durham.tasks.import_durham_data', + 'schedule': crontab(minute=0, hour=0), # Execute daily at midnight + }, +}