gpt4 book ai didi

common-lisp - SBCL:将 Hunchentoot 应用程序部署为可执行文件

转载 作者:行者123 更新时间:2023-12-03 16:24:43 25 4
gpt4 key购买 nike

我开始使用 SBCL Common Lisp,并想使用 Hunchentoot 开发一个小型 Web 应用程序。为了便于部署,我计划使用 sb-ext:save-lisp-and-die 将所有内容保存在二进制文件中,因为我可以忍受大输出大小。

对于可执行文件,您需要提供一个顶级函数。问题是程序在顶层函数返回时退出。我试图从可执行文件启动 Hunchentoot,但程序在两秒钟后结束。

在停止程序之前,如何等到 Hunchentoot 关闭(从请求内部)?我可以做一些事情,比如加入 Hunchentoot 接受者线程吗?或者我什至可以将 REPL 包含到可执行文件中以进行实时调试吗?

最佳答案

(ql:quickload :hunchentoot)
(use-package :hunchentoot)

(defun main ()
(hunchentoot:start-server :port 8082)
(sb-thread:join-thread (find-if
(lambda (th)
(string= (sb-thread:thread-name th) "hunchentoot-listener-1"))
(sb-thread:list-all-threads))))

如果您保持终端打开(可能通过 GNU Screen),则无需显式代码即可让您访问 REPL。将 Ctrl+C 发送到终端以进入调试器。

关于common-lisp - SBCL:将 Hunchentoot 应用程序部署为可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com