gpt4 book ai didi

.net - Microsoft HPC任务的错误处理策略

转载 作者:行者123 更新时间:2023-12-03 08:36:29 27 4
gpt4 key购买 nike

我有一个.NET应用程序,它将生成要在MS HPC群集上运行的任务。我们没有使用任何花哨的DryadLINQ东西,只是在集群上远程执行exe并通过命令行传递参数。任务将是.NET代码,当HPC发生错误时,我希望调用应用程序获取实际的Exception对象。

实现此目的的最佳通用技术是什么?

让我知道您是否需要更多信息。

谢谢!

最佳答案

使用批处理调度程序时,无法将异常从可执行文件传递回客户端HPC应用程序。如果知道排队的任务或作业之一失败就足够了,那么您可以保留SchedulerJob对象,并向OnJobState或OnTaskState事件添加回调。每当您的作业(或该作业中的任务)更改状态时,您都将在回调中获取jobid/taskid和状态更改信息;那么您可以检查状态是否已更改为“失败”,并根据该信息采取措施。

要将任务或作业标记为“失败”,请使用非零退出代码使可执行文件退出。如果您需要有关实际异常的详细信息,最好的办法是将其打印到stdout。

如果您确实需要所有异常详细信息,则可以选择使用SOA框架进行计算。
优点是:

  • 您的计算请求看起来像WCF
    方法调用
  • 当您返回详细的异常时
    您的代码抛出
  • 您可以使用SOA调试器
    扩展到Visual Studio进行调试
    您的代码

  • 缺点是:
  • 从现有代码库开始编写和部署应用程序更为复杂。

  • 以下是一些入门的资源(搜索“Windows HPC SOA”应该会帮助您更多):

    MSDN SOA documentation

    关于.net - Microsoft HPC任务的错误处理策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924039/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com