Since you say that you are already running the functions on an App Service plan, it's likely that you don't have the Always On
setting enabled. You can do this from the Application Settings -> General Settings
tab on the portal:

Another possible cause is if you don't clear the blobs out of the container after you process it.
From here:
If the blob container being monitored contains more than 10,000 blobs (across all containers), the Functions runtime scans log files to watch for new or changed blobs. This process can result in delays. A function might not get triggered until several minutes or longer after the blob is created.
And when using the Consumption Plan, here's another link warning about the potential of delays.