Angenommen, ich habe eine triviale Boot-Clj-Task, die '[pandeiro.boot-http :refer [serve]]
verwendet. Wenn ich Änderungen vornehme und die Aufgabe neu starten muss, würde es sich beschweren, dass der Port bereits benutzt wird. Gibt es eine Möglichkeit, den Jetty-Server zu beenden, ohne einen Neustart durchführen zu müssen?Wie kann ich Anlegestegserver stoppen, ohne erneut zu starten?
Antwort
Wenn Sie nur dieser viele Menschen dieses Muster verwenden:
(defonce running-server (atom nil))
(defn stop-server [] (@running-server))
(defn go []
(reset! running-server
(org.httpkit.server/run-server
... your stuff here ...))
Wenn dies ein längerfristiges Projekt mit so etwas wie die Komponenten-Framework löst in einem viel eleganten Weg, um dieses Problem bei dem Starten und ermöglicht viele abhängigen Komponenten (daher der Name). Dies ist ein good place to get started und lesenswert, bevor Sie Ihr nächstes Projekt starten.
pandeiro.boot-http
unterstützt das erneute Laden Ihres Handlers, so dass Sie die serve
Aufgabe nicht neu starten müssen. Sie müssen es so konfigurieren, mit :reload
set to true
:
Auf Befehlszeile:
boot serve -H myapp.server/app -R wait
Oder in Ihrem Boot-Skript:
(boot (serve :handler 'myapp.server/app :reload true) (wait))
Für regelmäßige statische Dateien serve
gibt immer die aktuelle Version von der Platte so Sie müssen nicht neu geladen werden.
Wenn Sie wirklich die Aufgabe neu starten müssen, denke ich, dass Sie möglicherweise von issue in pandeiro.boot-http
betroffen sind und möglicherweise Kontakt mit seinem Betreuer aufnehmen müssen.
- 1. Wie kann ich den Anlegestegserver in Clojure stoppen?
- 2. Kann ich den Rettungsblock erneut starten, ohne zu beginnen ... Ende?
- 3. Wie kann ich TGitCache.exe anmutig stoppen und starten?
- 4. Wie kann ich eine Hintergrundaufgabe auf Travis starten und stoppen?
- 5. Windows-Dienst starten und stoppen ohne Administratorrechte
- 6. Wie kann ich Asynctask innerhalb Fragment von recyclerview erneut starten
- 7. Wie kann ich Hostapd pausieren, ohne es vollständig zu stoppen
- 8. Wie kann ich "Let's Encrypt" verwenden, ohne nginx zu stoppen?
- 9. Anwendung in Eclipse erneut starten
- 10. Wie starten Sie Rails unter Mongrel neu, ohne Mongrel zu stoppen und zu starten?
- 11. Erlang-Tracer stoppen und starten ohne Trace-Ereignisse zu verlieren
- 12. Wie kann ich einen Dienst remote starten und stoppen
- 13. DynamoDBLocal: Wie kann ich DB starten und stoppen?
- 14. Wie kann ich einen Tornado-Server stoppen (und neu starten!)?
- 15. Wie kann ich einen Timer auf STM32 starten und stoppen?
- 16. Schlechte Idee, ex.InnerException erneut zu starten?
- 17. Aufzeichnung stoppen/starten auf Twilio
- 18. Wie man zu einer bereits geöffneten Aktivität zurückwechselt, ohne sie erneut zu starten
- 19. Wie kann ich TProgressBar stoppen zu verzögern?
- 20. Wie mache ich Verschlüsselung/Entschlüsselung, ohne Keypairs erneut zu generieren?
- 21. Plötzlich starten/stoppen Instanzen
- 22. Wie kann ich die Animation erneut starten lassen, um zu vermeiden, dass Code wiederholt wird? jQuery
- 23. Wie kann ich temporäre Webextension ohne Herunterfahren Browser stoppen?
- 24. Stoppen/starten svnserve lokal
- 25. Kann ich Servlet hinzufügen, ohne mein Projekt neu zu starten
- 26. Stoppen Sie den AVPlayer und starten Sie die mp3 Datei erneut
- 27. Wie kann ich diese Animation stoppen?
- 28. Wie kann ich aufhören exe in C# zu starten, um eine neue Instanz zu starten?
- 29. Kann ich einen IIS stoppen?
- 30. Stoppuhr - stoppen und starten