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 CONSTANTS, LOGGER 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(CONSTANTS['redis']['host'], CONSTANTS['redis']['port']) q = Queue(CONSTANTS['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=CONSTANTS['redis']['queue'], use_local_timezone=False ) # TODO: Remove if needed print_jobs(scheduler)