12345678910111213141516171819202122232425 |
- import datetime
- import logging
- from app.core.runner.pub_handler import StreamEventHandler
- from app.core.runner.thread_runner import ThreadRunner
- from app.providers.celery_app import celery_app
- from app.providers.database import session
- from app.services.run.run import RunService
- @celery_app.task(bind=True, autoretry_for=())
- def run_task(self, run_id: str, token_id: str, stream: bool = False):
- logging.info(
- f"[run_task] [{run_id}] [token_id] [{token_id}] running at {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
- )
- try:
- ThreadRunner(run_id, token_id, session, stream).run()
- except Exception as e:
- print("aawwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww")
- logging.exception(e)
- StreamEventHandler(run_id=run_id, is_stream=True).pub_error(str(e))
- RunService.to_failed(session=session, run_id=run_id, last_error=e)
- finally:
- session.close()
- return None
|