首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有效地处理计划中的任务?

如何有效地处理计划中的任务?
EN

Stack Overflow用户
提问于 2022-10-06 06:55:42
回答 1查看 53关注 0票数 0

我使用的应用程序是20+年的。很多windows服务都被用来处理预定的任务。例如,如果计划处理支付,则将其添加到队列(数据库表)中,该表包含启动处理所需的所有信息。然后,一个windows服务获取它,将队列上的状态更改为“processing”,并开始实际的处理。如果发生错误,状态将更改为“错误”,如果成功,则将状态设置为“已完成”。虽然这在一段时间内效果很好,但由于数量的增加,现在需要更长的时间来处理。我们还看到数据库表上的死锁,因为此服务的多个实例(为scale部署3-4实例)试图读取/更新同一个数据库表。

这个应用程序不在云端,所以没有可以使用的云特定解决方案。为了达到这个目的,是否可以改变设计/体系结构,比如使用RabbitMQ或类似的东西?

该应用程序是使用ASP.NET MVC、C#和MSSQL构建的。

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 07:03:03

尝试通过添加索引器或对数据库进行切分来优化查询,这将使您编写的代码更少,但在数据库方面的工作却更多。但是在这种情况下使用消息队列总是一个更好的解决方案,但需要大量的努力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73969699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档