Azure 中的计划和触发作业

Scheduled and triggered jobs in Azure

对于我的 Azure 应用程序,我有多种场景需要计划作业和触发器作业。在研究了 Azure WebJobs 和 Scheduler 之后,我似乎可以做到这一点,但不是最好的方式。

我的用例会是这样的:

  1. 每周电子邮件群发(似乎正好适合调度程序)
  2. 活动邀请,根据活动时间动态计时(我本来可以 每小时检查一次作业,看是否需要发送?或在 事件的创建在特定时间创建了一个预定作业,但是 如果事件发生变化会怎样?)
  3. 基于上述 #2 的提醒 (同issues/questions)
  4. 欢迎邮件(两个版本,一个如果他们 如果他们不这样做,请完成一个演练和另一个演练:如何管理 这个时机?)

所以基本上我明白了如何使用 Azure Scheduler 来完成所有这些,但不是以最有效的方式。我想看看是否有一种方法可以管理 Azure Scheduler 以及基于各种标准的某种触发作业,通过代码进行控制。有这样的东西吗?

更新

要为此添加更多信息,

我正在使用 Mandrill,因为这些是交易电子邮件。使我的用例不适合 Mailchimp 或某些自动化平台的是我有重复模板,我将发送 (5ish),这些模板是根据我的用户事件和各种配置动态触发的。

示例:

1) 新用户注册。如果他们完成入职演练,他们会收到一种类型的欢迎电子邮件,如果他们没有在 x 分钟内完成入职演练,他们会收到另一种类型的欢迎电子邮件。

2) 管理员创建了一个事件。届时代码将梳理所有用户,根据用户的喜好查看应该邀请谁,然后向每个用户发送个性化邀请。

考虑使用 WebJobs SDK 来解决其中的一些问题。例如,您可以使用 Azure 存储队列在您的应用程序中创建或修改事件邀请时调用您的 Web 作业。您可能希望有不同的队列来触发不同的 Web 作业。例如,一封用于邀请,另一封用于提醒,还有一封用于欢迎电子邮件。

在您的场景中,每周电子邮件群发可能是一个单独的计划网络作业。

考虑到我的业务上限,听起来您需要可以处理您的电子邮件的东西 marketing/automation。考虑查看专注于此的第三方产品,而不是手动编码。 Mailchimp @ http://mailchimp.com comes to mind. They have a feature called Goal completion more info at: http://blog.mailchimp.com/new-trigger-emails-from-website-traffic/

或者,我公司提供的监控和自动化服务 (CloudMonix @ http://cloudmonix.com ) 允许根据一些非常自定义的标准自动启动任务。 CloudMonix 对电子邮件营销一无所知,但如果某些 SQL 记录出现在数据库中或某处发布的指标,它可以启动 Web 作业或 Azure 自动化作业。