繁体   English   中英

在Windows IIS之外运行任务作为Windows服务

[英]Running task as windows service out of band of iis

我们有一个Web应用程序,其中调用了长时间运行或处理器运行速度较高的请求。

我们要创建一个Windows服务,以从IIS服务器上卸载该服务。 我们将在多台计算机上安装此服务,以减少这些作业的等待时间。 我们正在考虑的一个想法是将Job对象序列化为Sql Server,并将其JobType作为另一列。

作业服务将通过使用其指示器更新该行来声明该作业,这将防止其他服务选择该作业。 作业完成后,服务将删除该条目。

我正在寻找的是其他可能更好的想法来完成作业服务排队。

我会说这是处理此问题的好方法。 我唯一要添加的是,尽管我不知道Job对象是什么或如何创建它,您也可以卸载它。 无需创建对象并将其序列化到数据库,只需将原始数据存储在SQL中即可。 让服务自己从头开始构建Job对象。 这样,您就可以避免序列化了。 但是,如果这不可能,那么我想说您的解决方案似乎是最可行的。

如果您采用这种方法,则可以考虑优化服务分流。 例如,您可以在负载繁忙时唤醒额外的服务,然后在负载减轻时使某些服务进入睡眠状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM