22 lines
657 B
Python
22 lines
657 B
Python
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}
|