代码之家  ›  专栏  ›  技术社区  ›  scorpion5211

在dev上手动触发基于时间的Azure函数

  •  1
  • scorpion5211  · 技术社区  · 8 年前

    部署时,我的任务每天运行一次。对于当前的开发,我只是将CRON改为“every minute”,并等待那一分钟的到来,以便触发函数,以便我进行调试。有没有一种方法,使我可以留下我的定时器代码停留在“每天”,但仍然能够启动它手动。

    在Azure中,我只需转到函数资源并单击“Run”即可启动它,而无需考虑计时器。我正在寻找类似的东西对我的开发。

    3 回复  |  直到 8 年前
        1
  •  1
  •   Rohit Saigal    8 年前

    看起来没有直接的解决方案可以手动(甚至通过和http请求)触发基于时间的Azure函数。

    可能的解决方法

    第二个http触发函数具有相同的逻辑/代码。您可以使用第二个函数按需测试。

    请看这两个线程中的讨论,它与您非常相关-

    Any method for testing timer trigger function

    Time triggered azure function to trigger immediately after deploy

        2
  •  8
  •   tokyo0709    8 年前

    你可能在定时器触发器属性上寻找这个,

    [TimerTrigger("", RunOnStartup = true)]TimerInfo timer
    

        3
  •  0
  •   Kailash Ravuri    8 年前

    正如@neo99所提到的,简单的答案是,仅仅开箱即用是不可能的。原因是输入参数 跑

    定时器触发器:

    [FunctionName("TimerTriggerCSharp")]
    public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log)
    

    Http触发器:

    [FunctionName("HttpTriggerCSharp")]
    public static async Task<HttpResponseMessage> Run(
        [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, 
        TraceWriter log)
    
    推荐文章