Bootstrap

python FastAPI 后台运行

最近需要用python把AI的能力封装起来,通过暴露API的方式供别的服务来调用。整体的想法是,选择对应接口,接口读取传入的sql语句,自动去数据库读取数据,运算后将结果在存放在数据库中。

搭建FastAPI框架,由于AI训练时间比较久,所以采用了fastapi的后台运行方式。
如下,这样就可以了,而且也可以在后台执行程序中,利用多进程写代码。

@app.post("/sql_tmp/{operation_name}")
async def Operation_item(background_tasks: BackgroundTasks, operation: str, item: DataBaseTmpItem, p_item: ProjectItem):
    debug = 0
    if debug == 1:
        d = DatabaseManager(user=sql_config.user, 
                        password=sql_config.password, 
                        host=sql_config.host, 
                        port=sql_config.port, 
                        dbname=sql_config.dbname,
                        )
        background_tasks.add_task(send_notification_debug, operation, item, p_item, d) 
    else:
        background_tasks.add_task(send_notification, operation, item, p_item)
    
    return {
        "status": 1,
        "message": "任务已提交"
        }
;