none
Function Static 변수 사용 RRS feed

  • 질문

  • 현재 Azure Function을 timer 형태로 사용하고 있습니다.

    해당 function은 많은 데이터를 가져와서 가공 후 DB에 넣는 작업을 수행하고 있어서 실행 시간을 예측할 수 없습니다.

    또한 function이 실행 중일 때는 timer 시간이 되어 새로운 function이 생성되더라도 기능을 수행해서는 안됩니다.

    그래서 function의 상태를 관리하기 위해 staic 변수를 활용하고 있습니다.

    private static bool flag = false;

    [FunctionName("SampleTimer")]

    public static async Task RunAsync([TimerTrigger("0 0/10 * * * *", RunOnStartup = true)]TimerInfo myTimer, TraceWrite log)

    {

       if(flag == true)

            return;

        flag = true;

        ..............

        flag = false;

    }

    그런데 function이 몇 일간 잘 작동하다가 flag 상태가 true로 계속 유지가 됩니다. 그래서 function이 정상적인 작업을 수행하지 못합니다.

    function 자체에 문제가 있는 것일까요? 아니면 static 변수를 적용하는 부분에서 문제가 있는 것일까요?

    2020년 6월 29일 월요일 오전 9:33