File size: 1,367 Bytes
a9bd304
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File: tasks.py (File ini mendefinisikan tugas latar belakang -fine-tuning- yang akan dijalankan oleh Celery.)

import os
from celery import Celery
import subprocess

# Ambil URL broker dari environment variable
CELERY_BROKER_URL = os.getenv('CELERY_BROKER_URL', 'redis://redis:6379/0')

# Inisialisasi aplikasi Celery
celery_app = Celery('lessonplan_tasks', broker=CELERY_BROKER_URL)

@celery_app.task(name='tasks.start_lessonplan_finetune_task')
def start_lessonplan_finetune_task():
    """

    Tugas ini memanggil script fine-tuning utama.

    Ini akan dijalankan oleh Celery Worker di server GPU.

    """
    try:
        print("Memulai proses fine-tuning untuk Lesson Plan Assistant...")
        
        # Menjalankan script sebagai proses terpisah
        # Pastikan environment worker memiliki akses ke semua environment variable
        result = subprocess.run(
            ["python", "simple_finetune.py"],
            check=True, 
            capture_output=True, 
            text=True
        )
        
        print("Proses fine-tuning selesai.")
        print("Output:", result.stdout)
        return {"status": "Completed", "output": result.stdout}
        
    except subprocess.CalledProcessError as e:
        print(f"Error saat fine-tuning: {e.stderr}")
        return {"status": "Failed", "error": e.stderr}