Procfile und Abhängigkeiten
Python-Projekte werden an requirements.txt oder pyproject.toml erkannt.
Den Startbefehl legst du in einem Procfile fest:
web: uvicorn main:app --host 0.0.0.0 --port $PORT
# requirements.txt
fastapi
uvicorn[standard]
Die Abhängigkeiten landen in einer virtuellen Umgebung, die beim Start automatisch im Pfad liegt.
Hintergrundaufgaben
Neben web darf das Procfile weitere Prozesse enthalten – etwa einen Worker, der eine
Warteschlange abarbeitet:
web: uvicorn main:app --host 0.0.0.0 --port $PORT
worker: python worker.py
Jeder Prozess läuft in derselben Instanz und teilt sich deren Speicher.
Größe wählen
| Anwendung | Empfehlung | Kosten im Monat bei Dauerbetrieb |
|---|---|---|
| API ohne schwere Bibliotheken | S | rund 7,82 € |
| Mit pandas, numpy oder ML-Paketen | L | rund 31,27 € |
Häufige Fragen
Wie viele Arbeiter soll Uvicorn starten?
Einen. Mehr Instanzen stellst du in der Console ein – dann verteilt der Load Balancer die Anfragen, und jede Instanz bleibt überschaubar.
Läuft auch Flask oder Django?
Ja, beide. Der Startbefehl im Procfile lautet dann gunicorn statt uvicorn.