Problems when handle API long pagination using durable function #1987
-
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
There have been a few occasions where large data sets have caused memory problems, and this would be my first thought. Example #1878 This looks like the kind of pattern that may benefit from this feature I requested a while ago #1682 |
Beta Was this translation helpful? Give feedback.
-
There are a couple issues I can think of that would make this scenario unnecessarily slow:
An always-running WebJob will always be faster for this kind of scenario, but you're basically sacrificing durability for speed. Depending on the requirements of your scenario, this may be okay. If you wanted to try using DF for this application again, two suggestions I would recommend are to enable extended sessions (which can dramatically reduce the impact of large message processing) and having each activity function process multiple pages instead of just one, reducing overall I/O being done by your app. It's hard to know what might be causing the pauses without having access to recent telemetry. One possibility I can think of is that you might be running out of memory and the function app might be recycling. The consumption plan only allows 1.5 GB and is aggressive about recycling the host process if that limit is reached or exceeded. This can cause long delays in orchestrations due to the default 5 minute visibility timeout of the underlying Azure Storage queue messages that get locked and then abandoned. |
Beta Was this translation helpful? Give feedback.
There are a couple issues I can think of that would make this scenario unnecessarily slow:
An always-running WebJob will always be faster f…