Trapperkeeper is a Clojure framework for hosting long-running applications and services. You can think of it as a sort of "binder" for Ring applications and other modular bits of Clojure code.
Add the following dependency to your project.clj
file:
- Bug reports and feature requests: you can submit a Github issue, but we use JIRA as our main issue tracker.
- freenode: #trapperkeeper
You can find a quick-start, example code, and lots and lots of documentation in our:
A Leiningen template is available that shows a suggested project structure:
lein new trapperkeeper my.namespace/myproject
Once you've created a project from the template, you can run it via the lein alias:
lein tk
Note that the template is not intended to suggest a specific namespace organization; it's just intended to show you how to write a service, a web service, and tests for each.
Here are some additional projects that provide Trapperkeeper services, and other related functionality:
- trapperkeeper-webserver-jetty9: a Jetty9-based webserver for use with TK applications
- trapperkeeper-rpc: a TK service that allows you to easily build a way to call remote TK services over RPC
- trapperkeeper-metrics: a TK service that manages the life cycle of a MetricRegistry, so that all of your TK services can register metrics with a common configuration syntax.
- trapperkeeper-comidi-metrics: a TK utility library that provides middleware to automatically generate metrics for all requests to each of your bidi/comidi HTTP routes.
- trapperkeeper-status: a TK service that provides a mechanism for registering status callbacks for all of your other TK services, and web API for requesting status information about the entire TK system.
- trapperkeeper-scheduler: a TK service that provides an API for scheduling periodic background tasks
Copyright © 2013 Puppet Labs
Distributed under the Apache License, Version 2.0
Please log tickets and issues at our JIRA tracker. There is also a #trapperkeeper channel on Freenode as well as .