代码之家  ›  专栏  ›  技术社区  ›  brokenisfixed

服务中的计时器

  •  2
  • brokenisfixed  · 技术社区  · 17 年前

    我们最近在我们的软件中添加了一个新功能——为上传和存储在服务器上的文档生成预览。我们是这样做的:

    1. 用户上传文档;
    2. 一旦用户打开文档信息卡,将发布最近上载文档的预览(有关预览生成的信息存储在数据库表中);
    3. 我们的服务每30秒启动一次,检查预览表并启动预览生成过程。

    我现在面临的问题是——生成预览的新代码使用了我们的一些遗留代码,有时它会“冻结”Word或Excel进程。预览的生成将停止,以下所有预览将一直处于“挂起”模式,直到我取消Word、Excel进程(我们测试MS Office文档的预览)。在我终止进程之后,预览生成将继续进行。

    我在考虑将计时器实现到我们的服务中,这样,如果一个服务在预览生成开始后等待超过1分钟,它将终止该过程,并继续为其他文档生成预览。

    我遇到的主要问题是,我不能像处理其他文档那样“移动”对旧代码的调用来分离进程(例如,我们通过进程使用ghostscript实现了.ps文件生成)。

    关于如何“处理”对遗留代码的调用有什么想法吗?

    1 回复  |  直到 17 年前
        1
  •  2
  •   lavinio    17 年前

    你能做第二道工序吗? 看门狗 第一道工序?

    或者,您可以让第一个进程自动重新启动,让第二个计时器线程监视它,然后终止它自己的进程吗?