Skip to content
Snippets Groups Projects
scheduler.py 905 B
Newer Older
from redis import Redis
from rq import Queue
from rq_scheduler import Scheduler
from constants import constants
from wazuh_evidence_collector import wazuh_evidence_collector

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:
        print(job)

redis = Redis(constants.REDIS_IP, constants.REDIS_PORT)
q = Queue(constants.REDIS_QUEUE_NAME, connection=redis)
scheduler = Scheduler(connection=redis)

# TODO: Remove if needed
remove_jobs(scheduler)

# TODO: Change cron expression and repeat value for production verion.
scheduler.cron(
    '* * * * * ',               
    func=wazuh_evidence_collector.run_full_check,                 
    args=[],
    repeat=10,
    queue_name='low',
    use_local_timezone=False
)

# TODO: Remove if needed
print_jobs(scheduler)