Skip to content

Commit

Permalink
V0.0.3 release prep (#53)
Browse files Browse the repository at this point in the history
* #27 refactor tube_register

* updated readme for v0.0.3 release
  • Loading branch information
vimukthi-git committed May 19, 2017
1 parent 2586081 commit 2e9a35c
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## Beanstalkg [![CircleCI](https://circleci.com/gh/vimukthi-git/beanstalkg.svg?style=svg)](https://circleci.com/gh/vimukthi-git/beanstalkg)

Beanstalkg is a golang implementation of [beanstalkd](https://github.com/kr/beanstalkd). Idea is to support the same set of features and protocol with the addition of
Beanstalkg is a go implementation of [Beanstalkd](https://github.com/kr/beanstalkd) **a fast, general-purpose work queue**.
Idea is to support the same set of features and protocol with the addition of
high availability and failover built in. You can read the plan.md if interested in contributing.

Right now it supports all the basic commands to run producers and workers. i.e "use", "put", "watch", "ignore", "reserve", "delete", "release", "bury", "reserve-with-timeout".
Expand All @@ -13,9 +14,30 @@ I wish to complete rest of the commands soon but any help is always appreciated.
- Implemented in golang. More readable code with support for concurrency using awesome `go routines`.
- Support for clustering(coming soon :)

### Running Locally

Please install golang(binaries will be released in the future) and then clone this repo and from the root run,
### User guide

Beanstalkg is currently only released as a docker image for users. Latest release is v0.0.3. Assuming you already have a
working docker engine installation, you can start a Beanstalkg instance with following steps,

- Run command `docker run -p 11300:11300 beanstalkg/beanstalkg:v0.0.3`. This will start the beanstalkg server in the foreground.
The server starts listening on port 11300.
- Now you can connect to the server with any client library available to [beanstalkd](https://github.com/kr/beanstalkd/wiki/Client-Libraries).
eg: Using [official go client](https://github.com/kr/beanstalk)
```
// Produce jobs:
c, err := beanstalk.Dial("tcp", "127.0.0.1:11300")
id, err := c.Put([]byte("hello"), 1, 0, 120*time.Second)

// Consume jobs:
c, err := beanstalk.Dial("tcp", "127.0.0.1:11300")
id, body, err := c.Reserve(5 * time.Second)

```

### Developer guide

Please install golang and then clone this repo and from the root run,

- `go install`
- `go run main.go`
Expand Down

0 comments on commit 2e9a35c

Please sign in to comment.