最好的偷懒方式就是一遍做好!
import socketio
class ExportResourceClient:
def __init__(self, server_url):
self.server_url = server_url
self.sio = socketio.Client()
# 用于判断当前任务是否完成
self.current_task_done = False
self._register_events()
def _register_events(self):
"""注册事件回调函数"""
@self.sio.event
def connect():
log.info("SocketIO连接成功")
@self.sio.event
def export_start(data):
log.info("开始导出...")
@self.sio.event
def export_progress(data):
log.info(f"进度: {data['msg']}")
@self.sio.event
def export_error(data):
log.info(f"导出失败: {data['msg']}")
self.current_task_done = True # 标记任务完成,避免卡住
@self.sio.event
def export_info(data):
log.info(f"信息: {data['msg']}")
@self.sio.event
def export_success(data):
log.info(f"导出成功: {data['msg']}")
log.info(f"下载地址: {data['url']}")
self.current_task_done = True # 标记任务完成
@self.sio.event
def task_status(data):
print(f"任务状态: {'运行中' if data['is_running'] else '已完成'}")
def connect(self):
"""连接到WebSocket服务器"""
self.sio.connect(self.server_url)
def send_task(self, task_name):
"""发送任务事件"""
self.current_task_done = False # 任务开始时重置状态
self.sio.emit(task_name)
log.info(f"任务 {task_name} 已发送")
def wait_for_task_completion(self):
"""等待当前任务完成"""
log.info("等待任务完成...")
while not self.current_task_done:
time.sleep(1)
def start_export_kr_resource(self):
log.step("start export kr resource event_name:start_export_kr_resource")
self.send_task("start_export_kr_resource")
self.wait_for_task_completion()
def start_export_kr_img_resource(self):
log.step("start export img resource event_name:start_export_kr_img_resource")
self.send_task("start_export_kr_img_resource")
self.wait_for_task_completion()
def start_export_translation_pack(self):
log.step("start export translation pack event_name:start_export_translation_pack")
self.send_task("start_export_translation_pack")
self.wait_for_task_completion()
def wait_for_events(self):
"""保持WebSocket连接,等待事件"""
self.sio.wait()
开发可以支配测试吗
羽毛球无敌
AES 加密时会约定在前面加上 16 个随机的字节,服务解密的时候会先去掉 16 个随机字节,然后解密。因为每次都有会随机字节,所以加密的结果不同,但解密的结果是相同的。
线上上线是如何操作的?不会也是手动部署?应该都是 jenkins + salt 部署?线上部署那一套在测试服部署一下就 OK。客户端包可以直接部署一个 Nginx,让前端同学开发完之后直接放到 nginx 配置对应的目录,然后在通知群发提测通知带上对应的链接就可以了。
没有灰度吗? 灰度完之后看下崩溃率,崩溃率高了就让研发排查修复,继续灰度,崩溃率达标在上线。
这就有点害怕了
我们上个月又刚裁了一波
感觉不是。自动化也是需要人来编写的;
最好的偷懒方式就是一遍做好!