I've worked on something similar for a project of mine and used AWS Lambda which has been nice because it scales well and didn't cost me money while it wasn't running. The limit is 15 minutes which should be fine for something like this.
As others mentioned, I would go with a client-side approach if it works for you though.
As others mentioned, I would go with a client-side approach if it works for you though.