如何在环项目中运行任意启动功能?

Posted

技术标签:

【中文标题】如何在环项目中运行任意启动功能?【英文标题】:How to run an arbitrary startup function in a ring project? 【发布时间】:2012-12-08 08:29:45 【问题描述】:

我有一个我目前使用lein ring server 运行的组合/环应用程序,我想将其编译为 .war 以便我可以部署它。然而,我有一个定义,就像

 (def foo (start-scheduler))

这会阻止 .war 的编译和生成。为了避免这种情况,我考虑过将调用转移到启动函数,但是当服务器启动时我将如何调用它呢?

如果我将调用放在处理程序中,我最终会遇到与以前相同的问题。

谢谢!

【问题讨论】:

【参考方案1】:

在您的project.clj 中声明您的 Ring 处理程序时,您还可以指定在您的应用程序启动时运行的 init(和销毁)函数:

:ring :init myproject.core/init
       :destroy myproject.core/destroy
       :handler myproject.core/handler

这在此处记录:https://github.com/weavejester/lein-ring#general-options

【讨论】:

以上是关于如何在环项目中运行任意启动功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 unix 中守护任意脚本?

如何在环回 4 的 RestApplication 中使用 socket.io?

如何在环回中自动跳过访问令牌验证

django shell启动时如何运行任意代码?

如何使用 openapi-to-graphql 在环回 4 中启用 graphql 订阅

如何同时启动两个功能,只等待更快的一个?