import os from redis import Redis from rq import Queue from rq_scheduler import Scheduler from wazuh_evidence_collector import wazuh_evidence_collector from wazuh_evidence_collector.wazuh_evidence_collector import LOGGER REDIS_HOST = os.environ.get("redis_host") REDIS_PORT = int(os.environ.get("redis_port")) REDIS_QUEUE = os.environ.get("redis_queue") WAZUH_CHECK_INTERVAL = int(os.environ.get("wazuh_check_interval")) def remove_jobs(scheduler): jobs = scheduler.get_jobs() for job in jobs: scheduler.cancel(job) def print_jobs(scheduler): jobs = scheduler.get_jobs() for job in jobs: LOGGER.info(job) redis = Redis(REDIS_HOST, REDIS_PORT) q = Queue(REDIS_QUEUE, connection=redis) scheduler = Scheduler(connection=redis) remove_jobs(scheduler) scheduler.cron( '*/' + str(int(WAZUH_CHECK_INTERVAL / 60)) + ' * * * * ', func=wazuh_evidence_collector.main, args=[], repeat=None, queue_name=REDIS_QUEUE, use_local_timezone=False ) print_jobs(scheduler)