キューから n 個のメッセージを取得しようとしています (langohr を使用)。私は作業バージョンを持っていますが、これを行うためのより良いクロージュリストの方法があるかどうか知りたいです:
(def not-nil? (complement nil?))
(defn get_message [queue]
(let [[_ payload] (lb/get ch queue)]
(if (not-nil? payload)
(String. payload "UTF-8"))))
(take 4 (take-while not-nil? (repeatedly (partial get_message "my_queue"))))
したがって、キューにメッセージがある限り、最大 N 個のメッセージをフェッチします。
これを行うためのより良いクロージュリストの方法はありますか?