skip to Main Content

I’m trying to trigger an orchestrated function TimerTrigger in .NET 7. Below is the function I created

    [Function(nameof(FunctionSampleTimer))]
    public async Task Run([TimerTrigger("*/5 * * * * *", RunOnStartup = false)] MyInfo myTimer, [DurableClient] DurableTaskClient client, FunctionContext context)
    {
        var instanceid = Guid.NewGuid().ToString();
        var logger = context.GetLogger("TimerFunction");
        logger.LogInformation($"Function Ran. Next timer schedule = {myTimer.ScheduleStatus.Next}");
    } 

The above function is getting triggered once every 5 seconds only for the first time when the project is created, and is not getting triggered again and getting stuck on that "Host lock lease acquired…" line.

Console output shows this:

[2023-02-20T01:26:52.843Z] Azure Functions .NET Worker (PID: 49120) initialized in debug mode. Waiting for debugger to attach...
[2023-02-20T01:26:53.305Z] The next 5 occurrences of the 'FunctionSampleTimer' schedule (Cron: '0,5,10,15,20,25,30,35,40,45,50,55 * * * * *') will be:
[2023-02-20T01:26:53.307Z] 02/19/2023 17:26:55-08:00 (02/20/2023 01:26:55Z)
[2023-02-20T01:26:53.308Z] 02/19/2023 17:27:00-08:00 (02/20/2023 01:27:00Z)
[2023-02-20T01:26:53.309Z] 02/19/2023 17:27:05-08:00 (02/20/2023 01:27:05Z)
[2023-02-20T01:26:53.310Z] 02/19/2023 17:27:10-08:00 (02/20/2023 01:27:10Z)
[2023-02-20T01:26:53.311Z] 02/19/2023 17:27:15-08:00 (02/20/2023 01:27:15Z)
[2023-02-20T01:26:53.312Z]
[2023-02-20T01:26:53.323Z] Host started (775ms)
[2023-02-20T01:26:53.324Z] Job host started
[2023-02-20T01:26:54.472Z] {
[2023-02-20T01:26:54.473Z]   "ProcessId": 49120,
[2023-02-20T01:26:54.474Z]   "RuntimeIdentifier": "win10-x64",
[2023-02-20T01:26:54.475Z]   "WorkerVersion": "1.8.0.0",
[2023-02-20T01:26:54.476Z]   "ProductVersion": "1.8.0-local202209270007u002B04ccbd8e45bb9017dc30ff5e1343e893a216e173",
[2023-02-20T01:26:54.477Z]   "FrameworkDescription": ".NET 7.0.0",
[2023-02-20T01:26:54.478Z]   "OSDescription": "Microsoft Windows 10.0.22621",
[2023-02-20T01:26:54.479Z]   "OSArchitecture": "X64",
[2023-02-20T01:26:54.480Z]   "CommandLine": "C:\Users\swkandhi\source\repos\FunctionTimerTrigger\FunctionTimerTrigger\bin\Debug\net7.0\FunctionTimerTrigger.dll --host 127.0.0.1 --port 58647 --workerId e70ddb42-819a-45b2-a17c-dca35392699d --requestId 326e359b-9d29-4105-b2f1-9ef01892ae95 --grpcMaxMessageLength 2147483647"
[2023-02-20T01:26:54.481Z] }
[2023-02-20T01:26:54.493Z] Worker process started and initialized.
[2023-02-20T01:26:55.053Z] Executing 'Functions.FunctionSampleTimer' (Reason='Timer fired at 2023-02-19T17:26:55.0194750-08:00', Id=872452e5-4d71-42ea-a16d-d4790ccf38a2)
[2023-02-20T01:26:57.821Z] Host lock lease acquired by instance ID '00000000000000000000000074E57A56'.

2

Answers


  1. With what you have there for timing (5 * * * * *) I think it means it should run once at the 5 second mark. If you want it to run every 5 seconds you should do this (*/5 * * * * *)

    Login or Signup to reply.
  2. I have observed for every minute and couple of minutes in .NET 7 Isolated Azure Functions with generating the GUID Id, it is working successfully:

    Below are my test cases:

    For every 1st Run Next Runs
    2 minutes Yes Yes
    1 minute Yes Yes
    60 seconds Yes Yes
    30 Seconds Yes No
    5 Seconds Yes No

    For every minute:

    enter image description here

    For every 2 minutes:

    enter image description here

    For every 60 Seconds:

    enter image description here

    For every 5 Seconds:

    enter image description here

    AFAIK, the shortest interval requires at least 60 seconds minimum in the CRON Expression – the same is mentioned in the articles of Hostinger – Cron Job Tutorial.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search