Skip to content
Snippets Groups Projects
scheduler.py 1015 B
Newer Older
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")
Matevz Erzen's avatar
Matevz Erzen committed
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:
Zitnik, Anze's avatar
Zitnik, Anze committed
        LOGGER.info(job)
redis = Redis(REDIS_HOST, REDIS_PORT)
q = Queue(REDIS_QUEUE, connection=redis)
scheduler = Scheduler(connection=redis)

remove_jobs(scheduler)

scheduler.cron(
Matevz Erzen's avatar
Matevz Erzen committed
    '*/' + str(int(WAZUH_CHECK_INTERVAL / 60)) + ' * * * * ',
Zitnik, Anze's avatar
Zitnik, Anze committed
    func=wazuh_evidence_collector.main,
    args=[],
Matevz Erzen's avatar
Matevz Erzen committed
    repeat=None,
    queue_name=REDIS_QUEUE,
    use_local_timezone=False
)

Matevz Erzen's avatar
Matevz Erzen committed
print_jobs(scheduler)