CELERY_BROKER_URL='redis://localhost:6379', CELERY_RESULT_BACKEND='redis://localhost:6379', MAIL_SERVER=os.environ.get('FLASK_MAIL_SERVER'), MAIL_PORT=587, MAIL_DEBUG=True, MAIL_USE_TLS=True, MAIL_USE_SSL=False, MAIL_USERNAME=os.environ.get('FLASK_MAIL_USERNAME'), MAIL_PASSWORD=os.environ.get('FLASK_MAIL_PASSWORD'), MAIL_DEFAULT_SENDER=os.environ.get('FLASK_MAIL_DEFAULT_SENDER'), ) celery = make_celery(flask_app) mail = Mail(flask_app) mail.debug = True @celery.on_after_configure.connect def setup_periodic_task(sender, **kwargs): sender.add_periodic_task( # by default, run jobs once an hour, every day between 8 in the morning and 8 in the evening crontab(hour=os.environ.get('CELERY_CRONTAB_HOURS', '8-20'), minute='0'), run_all_watchjobs.s(), name="Run watchjobs") @celery.task def run_all_watchjobs(): with database_session() as dbs: LOG.info('Running all watch jobs...')