I have a flow that has been running solidly for over a week now, over 100 runs per day. Trigger is a new file being created, that file name is manipulated into a shorter string and the flow then looks at a 368 item SharePoint list for an item matching that string. Once a match is found, the destination file path is taken from the list item and the file is copied where it needs to go. There is also an integer created and incremented to let me see where no matches are found so I can move the file to an error folder. All simple enough. Takes on average 2 mins for each run. (There is a screen grab of the high level flow below)
Trouble was earlier today when at 1pm all flow instances being kicked off were getting to the Apply to Each condition and just sitting there. Oldest was running 2+ hours when I noticed. No time out, no error, no info just running and running and running.
I switched off the flow, cancelled all the running instances, cleared out my inbound folder and turned the flow back on. It is running perfectly again.
So I guess my question is, how can this happen and what solutions can you guys suggest to enable a bit of error catching inside the flow? If this wasn't a new flow, I wouldn't have been monitoring it and could have been a real mess to clear 100's of stuck files manually. I'd love to have something in there that says "If this run exceeds 5 minutes, kill me and tell my kind Dev that I'm not working properly".
Thanks in advance, Gary
Inside the Apply to Each segment
enable a bit of error catching inside the flow?
Select the 3 dots (...) at the top of a step, then select Configure run after. You can tell a step to run, or not run, based on conditions like "Condition 1 should run after... [the prior step] succeeded, failed, skipped, timed out, etc."
My verbiage might be off, but you get the idea. You can add steps that only run based on the prior step's outcome - then use that step to notify you that there was a mistake. However if there's no timeout (I think Flow times out after 30 days?), like in the case you mention, you won't get notified.
In the past, with my mission-critical Flows, I would insert a step that posts a message to my own Teams channel saying something like "Zak's Flow for Blabla has made it past Blabla step". That way, if I ever had to debug what went on and I was on mobile (or out of the office, whatever), I could look at the chatlog and quickly tell where something blew up.
I don't have a great answer to your question, however there are tools that can help you - though not exactly, in this case.
Thanks for this. I had thought about using the "run after" feature but like you say, nothing timed out nor crapped out to trigger an action. A real pain in the behind. I can only assume there was a connectivity issue that affected the flow runs until I switched it all off and back on. I like the idea of posting to a channel as a debugging route as then I'd see a load of chats stopped at "Gaz flow 1 made it past create integer" and then deathly silence 🙂
Join us for the next call on August 17, 2022 at 8am PDT.
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.