sbt-idp/cope2n-api/fwd_api/bg_tasks/cron_job.py
2023-12-25 10:32:09 +07:00

31 lines
755 B
Python

import traceback
from celery.utils.log import get_task_logger
class CronJob:
def __init__(
self,
name,
):
self.name = name
self.logger = self.get_logger()
def get_logger(self):
"""Create/Get the logger for this task"""
logger = get_task_logger(self.name)
return logger
def safe_run(self):
"""Create a logger and execute run()
in a try/except block to prevent crashing
"""
try:
self.run()
except Exception as e:
self.logger.error("Failed to run cron job in safe mode.")
self.logger.error(e)
traceback.print_exc()
def run(self):
raise NotImplementedError("Not implemented error")