Dan*_*tle 1 asp.net scheduled-tasks azure
我想简化在Azure中创建后台任务的人.
在asp.net应用程序中,后台任务一直很困难.对于简单的场景,您可以定期调用URL或启动后台线程.这两个选项都存在问题,两者都远非理想.例如,在调用URL时,对请求可以运行的时间量有限制,它会中断与工作单元的请求关联,并且您需要在应用程序中管理外部组件.对于后台线程,它有点好,但IIS仍然是一个请求驱动的服务,并且在实现重复的后台任务时存在危险.目前正在开展工作以支持IIS本地的后台任务,但这仍然是在遥远的未来.今天推荐的方法是使用Windows服务,这很好,因为它不是PAAS,没有理由不使用整个服务器.
Azure在后台任务方面面临着类似的问题,简单的任务很容易,但如果你想要更大的任务,你就会一直跳到工作者角色.然而,即使你使用这些方法,他们仍然有一些问题.
可以使用Azure移动服务任务计划运行简单任务,但即使是那些也存在一些问题.比如任务长时间运行.它还意味着您在主应用程序中拥有一半的任务逻辑,一半以脚本的形式管理其余的工作.我想要一个可以在一个地方停留的后台服务.
工人角色在大多数时候都是公平的太重量级,坦率地说,他们通常是矫枉过正.当我更愿意通过网站和服务共享一个VM时,它们需要一个完整的专用虚拟机.然后,如果需要,可以独立扩展它们.
我认为azure需要第三种选择.使用可在共享或保留/标准环境中运行的PAAS部署服务的能力.这应该与当前的Azure网站完全相同,因为它可以在共享模式下运行,也可以在我在Azure中托管的其他网站上运行.然后,该服务和我的网站可以在一个虚拟机中运行,以实现具有成本效益的阶段性或尽可能多的专用虚拟机.
所以我有两个问题:
今天这样做的最佳方式是什么,有没有我错过的选择?
Azure是否会在未来添加这样的服务?
好消息..
所以现在你可以拥有一个PaaS网站和后台服务,甚至不用看工人或角色!
| 归档时间: |
|
| 查看次数: |
1614 次 |
| 最近记录: |