项目：ai绘画任务分发器

仓库 1：后端https://gitlab.com/Tritium0041/sd-distribution

仓库 2：客户端控制器：https://gitlab.com/Tritium0041/SD-client

是个什么东西呢：

用户注册账号登录

提交绘画任务给服务器

存进数据库

跑图的 worker 用客户端控制器检测环境 接入网络

Copy
def worktheard():
global running_flag
global token
token = eel.getToken()()
print(token)

print("开始画图流程")
global flag
if token == "":
time.sleep(5)
running_flag = False
pass
res = claim_task(token)
if res == False:
time.sleep(5)
running_flag = False
pass
param = res["task_detail"]
task_name = res['task_name']
task_num = res['task_num']
param["batch_size"] = task_num
res = requests.post("http://127.0.0.1:7860/sdapi/v1/txt2img", json=param).json()
print("画图完成 准备提交")
for img in res['images']:
submit_task(token, task_name, 1, [img])
# submit = submit_task(token, task_name, task_num, res['images'])
# print(submit)
running_flag = False

def monitor():
global flag
global running_flag
print("守护进程启动")
while True:
lock.acquire()
if flag:
if running_flag:
lock.release()
else:
running_flag = True
lock.release()
t = threading.Thread(target=worktheard)
t.start()

else:
running_flag = False
lock.release()
time.sleep(1)

通过一个运行时 flag 的设置实现稳定的持续跑图 画完自动交

画完的图存进文件夹

用户选择任务拉取图片

我只试了我一个 worker 的情况 不知道多个 worker 会不会因为网络问题导致什么 bug