我可以在代码中运行Azure功能吗?
我的意思是,有一些c#项目并在Azure上托管它我希望用户Timer
按时完成后台工作。
有Azure SDK(或其他)一些方法来实现计时器行Azure Functions
但在代码中?
P.S。我的意思是,我可以在App Service中使用某些类似Azure功能的方法吗? 例如,我想每5分钟运行一段代码,但不是所有代码。
嗯..谢谢你的答案! 我的意思是: var azureTimer=new AzureFunctionTimer(5*60*1000);
azureTimer.Elapsed+=SomeHandler;
其中AzureFunctionTimer
是Azure SDK的一部分(例如)。
为什么我问?我认为(可能是我错了)使用像System.Threading.Timer
这样的计时器利用Azure主机上的CPU计时器,即使已经过时的事件还没有上升。
例如:
var timer=new Timer(5*60*1000);
timer.Elapsed+=SomeHandler;
timer.Start(); //and while timer not rise event it utilize CPU already. (Am i right?)
为了防止它应该使用一些Azure SDK函数,如Azure Function
(如果存在)。
答案 0 :(得分:2)
我不太确定您要问的是什么,但如果您尝试使用Azure功能每5分钟(或任何时间段)运行一些内容,您就可以制作计时器功能。这意味着该功能将每5分钟自动触发一次并运行您的代码。当您使用Azure仪表板创建新功能时,其中一个模板用于"计时器"这将允许您在定义的每个时段运行一些代码。
答案 1 :(得分:1)
不,您无法使用计时器,Azure功能将在5分钟后关闭,但您可以通过计时器(webhooks)在外部调用它们,或使用内部Azure功能cron计划或其他事件,例如队列中的新消息。 / p>
答案 2 :(得分:1)
Azure Functions以反应方式工作,只有在事件发生时才会运行。 因此,您可以做的最好的事情是使用一种触发器(例如,http触发器)并在需要时调用Azure函数。