PDFMathTranslate icon indicating copy to clipboard operation
PDFMathTranslate copied to clipboard

在2.0版GUI中添加任务执行时间限制功能

Open yurhett opened this issue 7 months ago • 2 comments

在什么场景下,需要你请求的功能?

当多用户同时使用PDF翻译工具时,出现了以下问题:

  • 某些特别大的PDF文件或格式复杂的文档会导致翻译任务执行时间过长
  • 一个长时间运行的翻译任务会阻塞队列,使后面的用户请求被迫等待
  • 偶尔会出现卡死情况,一个任务无限期运行但没有进展,需要手动重启服务

这种情况在公共部署环境中尤为突出,多用户共享同一系统资源时,单个用户的长时间任务会影响整体服务质量。

解决方案

建议在GUI界面中添加任务执行时间限制功能:

  • 在界面上添加一个可配置的"最大执行时间"选项,允许用户或管理员设置翻译任务的超时时间
  • 当任务执行时间超过设定限制时,自动中断该任务并释放资源
  • 在后端实现处理中断的清理机制,确保资源被正确释放

实现方式可以结合Gradio的队列参数和Python的超时处理机制。

其他内容

No response

yurhett avatar May 14 '25 07:05 yurhett

谢谢,很好的建议。 但是处理有限级应该不会很高,但确实是一个需要解决的问题。 : )

hellofinch avatar May 14 '25 08:05 hellofinch

https://github.com/awwaawwa/PDFMathTranslate/blob/116ba33c52d7bb2b266c55acff0f7155426a0d56/pdf2zh/high_level.py#L227

我目前只实现了任意两个进度消息之间超时的机制,没有实现整个任务的timeout。

低优先级一位,社区有人想写的话可以PR

awwaawwa avatar May 15 '25 07:05 awwaawwa