tranny / App /Worker.py
Mbonea's picture
different workers
24d11fd
raw
history blame contribute delete
No virus
2.04 kB
from celery import Celery, chain
import os
import time,subprocess
import cgi
from App import celery_config
import yt_dlp
import tempfile
from App.Transcription.Utils.audio_transcription import transcribe_file
from App.Embedding.utils.Initialize import encode, generateChunks
celery = Celery()
celery.config_from_object(celery_config)
celery.conf.update(
# Other Celery configuration settings
CELERYD_LOG_LEVEL='INFO', # Set log level to DEBUG for the worker
)
@celery.task(name="embbeding", bind=True)
def generate_store(self, data, task_id):
print('generating chunks')
chunks = generateChunks(data, task_id)
encode(chunks)
print("hellooo")
def download_with_wget(link, download_dir, filename):
subprocess.run(["aria2c", link, "-d", download_dir, "-o", filename])
@celery.task(name="download", bind=True)
def downloadUrl(self, link, download_dir, filename, model_size="base"):
file_path=os.path.join(download_dir,filename)
download_with_wget(link=link,download_dir=download_dir,filename=filename)
data = transcribe_file(state=self, file_path=file_path, model_size=model_size)
# generate_store.delay(data["content"], self.request.id)
return data
@celery.task(name="transcription", bind=True)
def transcription_task(self, file_path, model_size="tiny"):
data = transcribe_file(state=self, file_path=file_path, model_size=model_size)
generate_store.delay(data["content"], self.request.id)
return data
@celery.task(name="downloadx", bind=True)
def downloadfile(self, url, ydl_opts, model_size="base"):
self.update_state(state="Downloading File..", meta={})
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
# updated
self.update_state(state="Downloading complete", meta={})
audio_file = ydl_opts["outtmpl"]
print(model_size, "worker after")
data = transcribe_file(
state=self, file_path=audio_file["default"], model_size=model_size
)
generate_store.delay(data["content"], self.request.id)
return data