Muru: releases, not restarts
Deploying to the Muru daemon, where each deploy starts a new release beside the old one, rolling back is a routing change, and two releases can share a database.
Deploying to the Muru daemon, where each deploy starts a new release beside the old one, rolling back is a routing change, and two releases can share a database.
What building software with AI looks like as I edge towards retirement, why all software starts out as mud, and why I would like to hear what you never had time to build.
Adding websockets to an existing WSGI application with Muru, by handing requests to ASGI in the same worker, plus mounting ASGI beside WSGI and serving gRPC.
How a Muru development run serves HTTPS with a certificate your browser trusts, so HTTP/2, Secure cookies and URL schemes can be tested without a proxy in front.
How Muru imports a Python web application once and forks workers from it, checks the import is safe to fork, and how processes, threads and free-threading fit in.
The processes that make up Muru, the path a request takes through them, and why splitting things up this way is what makes releases and zero-downtime deploys possible.
Follow my journey and get notified about new posts and projects.
You can also follow this site via RSS feed.
If you're a Python developer, you might also want to check out the RSS feed available from planetpython.org for posts from various Python developers, including myself.
Support my open source work and help me continue creating tools that benefit the developer community.
Sponsor on GitHub