ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend
Classification : Implement cron job to update status of jobs/batch
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18
- Forks
- 10
- Merge moyen
- 2 j 20 h
- PR mergées (30 j)
- 14
Description
Problem
Both the Fine-Tuning API and the Batch API in OpenAI run asynchronously. Once a request is created, the job continues processing on OpenAI’s side, and the status only updates when the job progresses (e.g., queued → running → succeeded/failed).
Currently, to know whether a fine-tuning job or batch job has completed, the user must manually call the Retrieve API for each object. This manual polling is tedious, inefficient, and not scalable.
Proposed Solution
-
Set up a cron job (or background worker) that:
-
Periodically calls the Retrieve API for both fine-tuning and batch jobs.
-
Updates the database with the latest job status and results.
-
Ensures that when users query the database, they receive up-to-date information without needing to manually poll OpenAI endpoints.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par les points d’entrée de Fine-Tuning API et de Batch API Retrieve API décrits dans l’issue, puis suivez la manière dont l’état des jobs et les résultats sont stockés dans la base de données. Définissez le comportement du worker périodique pour les deux types de jobs, notamment les mises à jour de statut et les résultats récupérés. Le travail est terminé lorsque les requêtes de base de données exposent des informations à jour sans polling manuel.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api, backend, database
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100