https://github.com/uswitch/clj-hypermq
Clojure client for hypermq
https://github.com/uswitch/clj-hypermq
Last synced: 9 months ago
JSON representation
Clojure client for hypermq
- Host: GitHub
- URL: https://github.com/uswitch/clj-hypermq
- Owner: uswitch
- License: epl-1.0
- Created: 2014-04-28T20:44:20.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-05-06T12:44:03.000Z (about 12 years ago)
- Last Synced: 2024-12-15T06:11:56.732Z (over 1 year ago)
- Language: Clojure
- Homepage:
- Size: 195 KB
- Stars: 0
- Watchers: 37
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# clj-hypermq
A Clojure client library for [hypermq][1]
[1]:https://github.com/uswitch/hypermq
## Usage
```clojure
(:require [hypermq.client :as client])
; Create messages on a queue
(client/create-message "http://localhost" "myqueue" "producer1" {:msg "1"})
; true
(client/create-message "http://localhost" "myqueue" "producer1" {:msg "2"})
; true
; Consume messages from a queue
(client/fetch-messages "http://localhost" "myqueue")
; [{:id "f83d9e11-58ed-446e-bc78-461f60b6189f" :created 1398728082 :producer "producer1" :body {:msg "1"}}
; {:id "40d9141d-7d5e-445c-b9ce-4be2e7d93da3" :created 1398729082 :producer "producer1" :body {:msg "2"}}]
; Optionally provide uuid of last seen message as etag to fetch only more recent messages
(client/fetch-messages "http://localhost" "myqueue" :etag "f83d9e11-58ed-446e-bc78-461f60b6189f")
; [{:id "40d9141d-7d5e-445c-b9ce-4be2e7d93da3" :created 1398729082 :producer "producer1" :body {:msg "2"}}]
; Acknowledge message as seen by it's id
; This simply stores the id for the client. It does not effect call to `fetch-messages` in any way.
(acknowledge "http://localhost" "myqueue" "client1" "f83d9e11-58ed-446e-bc78-461f60b6189f")
; true
; Fetch the last seen message uuid for a client & queue
(last-seen-message "http://localhost" "myqueue" "myclient1")
; "f83d9e11-58ed-446e-bc78-461f60b6189f"
```
## License
Copyright © 2014 Christian Blunden
Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.