mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-23 23:09:37 +02:00
56 lines
No EOL
1.8 KiB
Python
56 lines
No EOL
1.8 KiB
Python
# import logging
|
|
# from apscheduler.schedulers.background import BackgroundScheduler
|
|
# from django_apscheduler.jobstores import DjangoJobStore
|
|
# from django_apscheduler import util
|
|
# from django.conf import settings
|
|
# from django.core.management import call_command
|
|
# from django.db import connections
|
|
# from django.db.utils import OperationalError
|
|
# import time
|
|
|
|
# logger = logging.getLogger(__name__)
|
|
|
|
# def run_worldtravel_seed():
|
|
# logger.info("Starting worldtravel-seed job")
|
|
# try:
|
|
# call_command('worldtravel-seed', '--force')
|
|
# logger.info("worldtravel-seed job completed successfully")
|
|
# except Exception as e:
|
|
# logger.error(f"Error in worldtravel-seed job: {str(e)}")
|
|
|
|
# def database_ready():
|
|
# db_conn = connections['default']
|
|
# try:
|
|
# db_conn.cursor()
|
|
# except OperationalError:
|
|
# return False
|
|
# else:
|
|
# return True
|
|
|
|
# @util.close_old_connections
|
|
# def start_scheduler():
|
|
# scheduler = BackgroundScheduler(timezone=settings.TIME_ZONE)
|
|
# scheduler.add_jobstore(DjangoJobStore(), "default")
|
|
|
|
# # Wait for the database to be ready
|
|
# retry_count = 0
|
|
# max_retries = 2 # Set to 2 attempts
|
|
# while not database_ready():
|
|
# if retry_count >= max_retries:
|
|
# logger.error("Database not available after 2 attempts. Scheduler not started.")
|
|
# return None
|
|
# logger.info("Database not ready. Waiting before retry...")
|
|
# time.sleep(2) # Wait for 2 seconds before retrying
|
|
# retry_count += 1
|
|
|
|
# scheduler.add_job(
|
|
# run_worldtravel_seed,
|
|
# trigger="interval",
|
|
# hours=24,
|
|
# id="worldtravel_seed",
|
|
# max_instances=1,
|
|
# replace_existing=True,
|
|
# )
|
|
# logger.info("Starting scheduler...")
|
|
# scheduler.start()
|
|
# return scheduler |