Tag: 守护进程

.Net框架,用于管理单独机器上的后台运行流程

我有一个asp.mvc应用程序驻留在服务器上。从这个应用程序,我想启动一个有点长时间运行的进程,将是资源密集型操作。 所以我想要做的是我希望有一些像3这样的用户代理将在3台机器上运行,这个用户代理只会使用各自机器的资源。 就像在Hadoop中一样,我们有主节点和集群,其中任务在单个集群上运行,并且有1个主节点跟踪所有这些集群。 在Azure中,我们有运行任务的虚拟机,如果需要,Azure可以通过启动新实例来自动扩展以加速任务。 所以我想创建这样的基础设施,我可以从mvc应用程序向3个用户代理提交我的任务,我的应用程序将跟踪这些代理,例如哪个代理是免费的,哪个是被占用的,哪个不是这样的。 我希望从每个用户代理接收进度并在我的MVC应用程序上显示。 在.net中是否有任何框架可以管理这些后台运行操作(跟踪,启动,停止等等)或者应该采用什么方法? 更新:我不想为这个长时间运行的操作加载大量服务器,而且我想跟踪这个长时间运行的进程,就像他们正在做的那样,错误等等。 以下是我正在思考的方法,我不知道哪个更有意义: 1)以2-3计算机内部代理的forms安装Windows服务,以利用resp资源并打开与此代理的tcp / ip连接,除非并且直到长时间运行的过程完成。 2)使用hangfire在IIS线程之外运行这个长时间运行的进程,但我想这会将负载放在服务器上。 我想知道上述方法可能存在的问题,以及是否有更好的方法。