Skip to content
Snippets Groups Projects
scheduler.py 1.03 KiB
Newer Older
# SPDX-License-Identifier: Apache-2.0

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)