如何启动不变的消息队列?

时间:2015-04-01 11:09:50

标签: clojure immutant

来自http://immutant.org/documentation/current/apidoc/guide-installation.html的不定文档:

  

在依赖关系到位后,您只需调用Immutant即可   来自您应用的主要入口点的服务,由:main标识   密钥在project.clj

可以调用Immutant的Web服务,如:

(ns my-app.handler
  ...
  (:require [immutant.web :as web])
  ... )

(def app ... )

(defn -main [& args]
  (web/run app))

(web/run app)的{​​{1}}相当于什么?

1 个答案:

答案 0 :(得分:1)

这里是你的答案 开始排队

(ns my-project.name
(:require [immutant.messaging :as msg]))

(defn call-fn
  [args]
  (let [fun (ns-resolve "namespace where fun defined" (symbol (first args)))
        params (rest args)]
    (if (seq params)
      (apply fun )
      (fun))))

(msg/start "queue")
(msg/respond "queue" (fn [args] (call-fn args)))

调用队列只是说

@(msg/request "queue" ["fun-name" params])