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 = os.environ.get("redis_port") REDIS_QUEUE = os.environ.get("redis_queue") 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) # TODO: Remove if needed remove_jobs(scheduler) # TODO: Change cron expression and repeat value for production verion. # Should probably be "0 0 * * * ". scheduler.cron( '* * * * * ', func=wazuh_evidence_collector.main, args=[], repeat=None, queue_name=REDIS_QUEUE, use_local_timezone=False ) # TODO: Remove if needed print_jobs(scheduler)