2

对于 Azure 和整个工作角色的概念来说相当新,以前如果我想完成一些后端工作,我只会创建一个 Windows 窗体应用程序并将其作为计划任务。

在我的新站点中,我创建了一个 Windows 窗体应用程序,我每小时运行一次,它读取 XML 提要并执行所有处理并将信息插入到 sql azure 中。

还有一些图像链接我想存储在 azure blob 存储中并可能调整它们的大小,我在我的 vb.net 应用程序中遇到了麻烦。

我的问题是我应该将所有处理从我的 Windows 窗体应用程序转移到工作角色,还是应该设置一个工作角色来仅将图像处理到 blob 存储?

辅助角色使用多少计算时间?我已经看到有睡眠定时器的例子,但是否可以每小时运行一次?

4

2 回答 2

2

您可以轻松地设置一个计时器以每小时触发一次。你在哪里运行你的代码,这取决于你的应用程序架构。如果您有 Web 角色,则可以将其放置在您的 Web 角色中,而不是专门的工作角色中,除非您确实需要单独实例的额外处理能力并且愿意为此付费。此外,每个角色(网络/工作人员)的实例数量会给解决方案增加复杂性。

您的架构的详细轮廓将为您寻求的答案提供更好的参考框架。

于 2012-04-11T05:29:04.480 回答
0

Worker 角色是为执行各种后台活动而设计的。因此您可以将所有处理逻辑从 Windows 应用程序移动到 workerrole。它只是一个带有入口点类的类库。

您不能以工作角色自动安排任何工作。你必须为你自己纠正一个逻辑。worker 角色正在无限循环中执行一段代码。您将被收取没有的费用。您在工作角色(计算)中使用的小时数,无论您的工作角色是空闲还是处理某些东西都没有关系。另外,如果您使用 blob 和队列,您还将为访问它们和在其中存储数据付费。

于 2012-04-11T05:19:15.077 回答