I have tried this solution as a backup. There is only one problem with it which is that some of my functions can take up to a minute to complete. That means I wont get a keep alive until it finishes. Is there an easy way to get around that so that I still process the keep alives whilst one of my functions is running?