from __future__ import annotations from celery import shared_task from apps.jobs.models import JobPosting from .services.lifecycle import update_lifecycle from .services.scoring import rescore_jobs_with_profiles @shared_task(name="apps.jobs.tasks.update_job_lifecycle") def update_job_lifecycle() -> dict[str, int]: return update_lifecycle() @shared_task(name="apps.jobs.tasks.rescore_active_jobs") def rescore_active_jobs(profile_id: int | None = None) -> dict[str, int]: count = rescore_jobs_with_profiles( JobPosting.objects.filter(status=JobPosting.Status.ACTIVE), profile_id=profile_id ) return {"scores_created": count}