Files
links/netscan/tasks.py
T
2026-03-21 16:41:14 +11:00

26 lines
761 B
Python

import logging
from apscheduler.triggers.interval import IntervalTrigger
from core.scheduler import scheduler
from netscan.scanner import run_scan
logger = logging.getLogger(__name__)
def schedule_profile(profile):
job_id = f'netscan_profile_{profile.pk}'
scheduler.add_job(
run_scan,
trigger=IntervalTrigger(days=profile.schedule_interval),
id=job_id,
args=[profile.pk, 'scheduler'],
replace_existing=True,
)
logger.info(f'Scheduled netscan job {job_id} every {profile.schedule_interval} day(s)')
def unschedule_profile(profile):
job_id = f'netscan_profile_{profile.pk}'
if scheduler.get_job(job_id):
scheduler.remove_job(job_id)
logger.info(f'Removed netscan job {job_id}')