Wenn ich eine Website mit einem http_deamon auf einem Server läuft, ist es möglich, ssh in den Server dann öffnen Sie die Prolog-Schnittstelle, führen einige Abfragen, vor allem machen und schließen Sie die Schnittstelle mit der Website noch läuft ?läuft auf einem http_deamon swi prolog
3
A
Antwort
3
Ja, es ist möglich, Definitionen mit einem laufenden HTTP-Server neu zu laden.
Schritte zum Reproduzieren:
- eine Sitzung
screen
odertmux
starten. Dadurch können Sie das Terminal abmelden, um sich später in derselben Sitzung anzumelden. - Starten Sie den Server. Mit der HTTP Daemon-Bibliothek, verwenden Sie das
--interactive
Flag, um eine interaktive Toplevel zu erhalten. - Trennen Sie die Sitzung.
- Abmelden.
zu einem späteren Zeitpunkt, Definitionen neu zu laden, während der Server noch läuft, einfach:
- Anmeldung wieder
- erneut anschließen Sitzung
- Lauf
?- make.
wie gewohnt.
Caveat: Mit dem HTTP Unix-Daemon, make/0
zur Zeit einige Probleme, aber man kann immer einen HTTP-Server starten auch die http_unix_daemon
Bibliothek ohne Verwendung, und in diesem Fall make/0
mehr gut funktioniert.
Eine Alternative besteht darin, einfach einen speziellen URL-Handler bereitzustellen, der make/0
innerhalb des Servers ausführt, wenn auf diese URL zugegriffen wird. Auch hier funktioniert es möglicherweise nicht reibungslos mit der Unix-Daemon-Bibliothek, aber normalerweise ohne es auszuführen.