We'll also be supporting long-running services as well in the near future which subscribe to updates from Inngest, rather than get invoked via HTTP.
Currently, to get beyond the ~5 min limit per step, you'd need to deploy to something non-serverless like Fly.io, Render, or your own instance running Express.js or similar.
This is really interesting - we’ve tried really hard to solve some of these with Bacalhau[1] - a much simpler distributed compute platform. Would love your feedback!
I took a quick look through the docs and from what I understand you can just submit docker containers to be run on a cluster. The default one is a public cluster. In some way it seems similar to Google Borg.
What I don't understand though is do you have to pay? Who provides the compute?
Maybe possible to build a vercel type service on top of the private cluster where people can just submit their code?
Thanks! The idea is that it’s up to you - we offer a demo network, and there are ISPs who are interested in doing this privately, but the default is to allow you to trivially setup your own cluster (much easier and more maintainable than many cluster providers today - no hate! Just different)
But then you need to set it up. On small fast moving teams having something that just works from the code is a massive win and I'd rather not cross the infra/code barrier.
We have been using a self-hosted Windmill instance for running batch processes in Production for a while now. It has been a very nice upgrade from cron jobs for us (adding captured job outputs, status info, ability to re-run jobs, etc).
It's pretty much as straightforward as deploying your Python script (and any dependencies with requirements.txt) and setting up your schedule for when you want it to run!
This isn't quite that but close.
From my experience there 5 main components for larger scale system.
- Request server
- database
- queue
- background worker
- offline batch jobs
I feel like so far serverless has the first 3 fairly well developed but the last two are still underdeveloped.
But maybe I'm just not aware of other solutions?