我将拥有一个每隔x分钟运行一次的Azure webjob。 该作业侦听任何传入消息的EventHub(pub / sub)并处理该消息。
创建/设计webjob以使其保持清醒处理消息的最佳方法是什么?我不确定是否一直都是正确的方法来执行此操作或者每隔几分钟运行一次webjob,但是在执行webjob期间,我希望代码能够运行,以便它可以等待并监听消息而不是仅仅立即退出(想象没有console.readline的program.cs!)
任何想法或想法?
答案 0 :(得分:4)
您有3个主要选项:
创建一个控制台应用并使用Event Processor Host。将其部署为连续的Web作业。
创建一个控制台应用程序并使用WebJobs SDK创建一个EventHub触发的函数。将其部署为连续的Web作业。
使用Event Hub trigger创建Azure功能。
在1和2中,您将按小时计算Web App Plan实例。基于作业计时器而不是连续计算是没有意义的:除非关闭Web App实例,否则每小时都要按时付费。
在3中你支付每个功能执行时间,如果事件数量很少,这可能会便宜得多。