Skip to content
Snippets Groups Projects
scheduler.py 1.03 KiB
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 = os.environ.get("redis_port")
REDIS_QUEUE = os.environ.get("redis_queue")
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)

# 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,
    queue_name=REDIS_QUEUE,
    use_local_timezone=False
)

# TODO: Remove if needed
print_jobs(scheduler)