Linux上的.NET Core中的后台作业

aro*_*gab 0 rabbitmq .net-core asp.net-core asp.net-core-1.1 angular

我正在开发.NET Core Web API,我有一个上传excel文件的操作,这应该读取文件,处理它并将内容保存到SQL Server数据库,当然可以插入一行excel多个表,之前创建的表结构用于存储所有数据,这不是简单的转储或批处理过程.

除了API,我们为客户端开发了一个Angular 4应用程序,因此从Angular组件上传文件,到目前为止一切都很好

问题是,有人可以上传一个非常巨大的文件的API,我们正在考虑的一种方式来处理后台进程的文件,因此客户端用户只会选择文件并点击上传文件时,API应该排队的文件后台任务将处理文件并执行需要执行的操作以保存到数据库.

所有基础设施(API,客户端和数据库)都将部署到Linux环境中.问题是:这是一个好方法吗? linux中有什么东西可以用吗?

我已经读过关于RabbitMQ的内容,但我不确定它,或者是否有更好或更适合这种情况的东西.

你们怎么处理类似的情况?

感谢您的回答和建议.

Yua*_*n Z 5

使用HangfireQuartz.NET作为后台作业处理器.

Hangfire也支持RabbitMQ.

或者您可以创建自己的infra工具来执行此操作.只需按照Hangfire或Quartz的说法操作即可.