Ich habe eine Webanwendung mit einer zugehörigen API und Datenbank.django separate Web & Api-Endpunkte auf Heroku
Ich würde gerne die gleichen Django-Modelle in der API verwenden, aber sie werden separat von verschiedenen Prozessen bedient, sodass ich sie unabhängig skalieren kann.
Ich brauche auch nicht die API statische Attribute oder eine der anderen Ansichten dienen.
Die Komplikation ist, dass die Strecken I definiert haben die API und die Webapp die Stammdomäne teilen
http://domain.com/normal/application/stuff
http://domain.com/api/different/stuff
und zusätzlich abhängig meine Django-Anwendungen auf jedes Modell der anderen und Konstanten (so zwei verschiedene settings.py
Dateien mit verschiedene INSTALLED_APPS
löst es nicht ganz).
Ich denke, eine Möglichkeit wäre, verschiedene Prozesse in meinem Procfile zu definieren, die nur die Django-App starten, aber in einem der Prozesse möglicherweise andere Umgebungsvariablen haben? Ich glaube nicht, dass ich die Umgebung per Proc mit heroku:config
ändern kann, ich denke es müsste eigentlich eine Direktive im Procfile sein.
Wer hat irgendwelche Erfahrungen oder Einsichten mit diesem? Vielen Dank!
FWIW, das größere Problem mit dem, was Sie möchten nicht tun, wie Django zu konfigurieren, es ist die Tatsache, dass Sie beide unter dem gleichen Domain-Namen tun möchten. Dies bedeutet, dass Sie die segmentierten Anwendungen nicht auf separate Web-Dynos aufteilen können, wenn Sie sie auf der Ebene eines Dynos separat skalieren möchten. Einige WSGI-Server bieten genügend Konfigurationsmöglichkeiten, um eine Webanwendung innerhalb des einen Hosts zu segmentieren und eine unterschiedliche Anzahl von Prozessen/Threads für verschiedene Teile der Anwendung anzugeben, aber der von Heroku empfohlene Gunicorn-WSGI-Server gehört nicht dazu. –
könnte ich noch eine einzelne Django-Anwendung/Heroku-Anwendung verwenden, aber eine settings.py für eine Domain und eine für eine Subdomain? – lollercoaster
Sie könnten es tun, wenn Sie Apache/mod_wsgi als WSGI-Server verwenden, aber das Heroku-Setup erlaubt nicht, dass es mit Python 2.7 ausgeführt wird. Kann nur mit Python 3.3+ verwendet werden und benötigt dann noch einige Tricks von mod_wsgi, damit es auf Heroku installiert werden kann. Leider kann nicht garantiert werden, dass Heroku die Dinge nicht ändert, so dass es auch nicht auf Python 3.3+ funktioniert. –