Как начать очередь сообщений?

Из документации по иммуностанту по http://immutant.org/documentation/current/apidoc/guide-installation.html:

Установив зависимости, вы просто вызываете службы Immutant из главной точки входа вашего приложения, определяемой :main введите ваш project.clj,

Веб-сервис Immutant может быть вызван как:

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

(def app ... )

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

Что эквивалентно (web/run app) за immutant.messaging?

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])
Другие вопросы по тегам