Skip to content
Snippets Groups Projects
scheduler.py 991 B
Newer Older
from redis import Redis
from rq import Queue
from rq_scheduler import Scheduler
from wazuh_evidence_collector import wazuh_evidence_collector
Zitnik, Anze's avatar
Zitnik, Anze committed
from wazuh_evidence_collector.wazuh_evidence_collector import CONSTANTS, LOGGER
Matevz Erzen's avatar
Matevz Erzen committed

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)
Zitnik, Anze's avatar
Zitnik, Anze committed
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.
Matevz Erzen's avatar
Matevz Erzen committed
# Should probably be "0 0 * * * ".
scheduler.cron(
Zitnik, Anze's avatar
Zitnik, Anze committed
    '* * * * * ',
    func=wazuh_evidence_collector.main,
    args=[],
Matevz Erzen's avatar
Matevz Erzen committed
    repeat=None,
Zitnik, Anze's avatar
Zitnik, Anze committed
    queue_name=CONSTANTS['redis']['queue'],
    use_local_timezone=False
)

# TODO: Remove if needed
print_jobs(scheduler)