feat generate single logo 部署
This commit is contained in:
@@ -1,24 +0,0 @@
|
|||||||
import logging
|
|
||||||
import time
|
|
||||||
from fastapi import APIRouter, BackgroundTasks
|
|
||||||
|
|
||||||
from app.schemas.slogan import SloganModel
|
|
||||||
from app.service.slogan.service import Slogan
|
|
||||||
|
|
||||||
router = APIRouter()
|
|
||||||
logger = logging.getLogger()
|
|
||||||
|
|
||||||
|
|
||||||
@router.post("/slogan")
|
|
||||||
def slogan(request_item: SloganModel, background_tasks: BackgroundTasks):
|
|
||||||
try:
|
|
||||||
logger.info(f"request data ### : {request_item}")
|
|
||||||
service = Slogan(request_item)
|
|
||||||
background_tasks.add_task(service.get_result)
|
|
||||||
code = 200
|
|
||||||
message = "access"
|
|
||||||
except Exception as e:
|
|
||||||
code = 400
|
|
||||||
message = e
|
|
||||||
logger.warning(e)
|
|
||||||
return {"code": code, "message": message}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
|
|
||||||
class SloganModel(BaseModel):
|
|
||||||
prompt: str
|
|
||||||
svg: str
|
|
||||||
tasks_id: str
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
import json
|
|
||||||
import logging
|
|
||||||
|
|
||||||
import redis
|
|
||||||
|
|
||||||
from app.core.config import *
|
|
||||||
|
|
||||||
logger = logging.getLogger()
|
|
||||||
|
|
||||||
|
|
||||||
class Slogan:
|
|
||||||
def __init__(self, request_data):
|
|
||||||
self.tasks_id = request_data.tasks_id
|
|
||||||
self.prompt = request_data.prompt
|
|
||||||
self.svg = request_data.svg
|
|
||||||
self.redis_client = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_DB, decode_responses=True)
|
|
||||||
self.slogan_data = {'tasks_id': self.tasks_id, 'status': 'PENDING', 'message': "pending", 'image_url': ''}
|
|
||||||
self.redis_client.set(self.tasks_id, json.dumps(self.slogan_data))
|
|
||||||
self.redis_client.expire(self.tasks_id, 600)
|
|
||||||
|
|
||||||
# if DEBUG is False:
|
|
||||||
self.connection = pika.BlockingConnection(pika.ConnectionParameters(**RABBITMQ_PARAMS))
|
|
||||||
self.channel = self.connection.channel()
|
|
||||||
self.result_image_url = "test/slogan/init_img.png"
|
|
||||||
|
|
||||||
def read_tasks_status(self):
|
|
||||||
status_data = self.redis_client.get(self.tasks_id)
|
|
||||||
return json.loads(status_data), status_data
|
|
||||||
|
|
||||||
def get_result(self):
|
|
||||||
self.slogan_data['status'] = "SUCCESS"
|
|
||||||
self.slogan_data['message'] = "success"
|
|
||||||
self.slogan_data['image_url'] = "test/slogan/init_img.png"
|
|
||||||
dict_slogan_data, str_slogan_data = self.read_tasks_status()
|
|
||||||
self.channel.basic_publish(exchange='', routing_key=SLOGAN_RABBITMQ_QUEUES, body=str_slogan_data)
|
|
||||||
logger.info(f" [x] Sent {json.dumps(dict_slogan_data, indent=4)}")
|
|
||||||
Reference in New Issue
Block a user