Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Leiningen plugin that eases Clojure on IronWorker dev
Clojure
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/leiningen
.gitignore
LICENSE
README.md
project.clj

README.md

lein-worker

A Leiningen plugin that uploads your project jar to IronWorker.

Installation

This plugin relies on the iron_worker_ng gem. Make sure it is installed and configured on your system.

[lein-worker "0.1.1"]

Put the dependency in the :plugins vector of either your project.clj or your :user profile.

Usage

From your project directory, run:

$ lein worker

This will:

  1. Generate a project-name.worker file in target based on Iron.io's Writing Workers in Java
  2. Generate an uberjar in the target directory using lein uberjar
  3. Upload the jar by running iron_worker upload target/project-name.worker

Individual subtasks also exist.

$ lein help worker
Default behavior for `lein worker` will prepare a workerfile and uberjar then upload it to IronWorker.
Use available subtasks for more fine-grained control.

Subtasks available:
run         Run remote worker on IronWorker
prepare     Preapre a workerfile and uberjar
upload      Upload uberjar to IronWorker
run-local   Run the worker locally

Run `lein help worker $SUBTASK` for subtask details.

Arguments: ([run] [prepare] [upload] [run-local])

N.B. You must run lein worker prepare before trying out your worker with lein worker run-local every time you make changes to your code. lein worker run-local runs the uberjar in your target directory. Because of the slowness of this workflow, it's better to use your normal testing or REPL-driven workflow and only verify with lein worker run-local before uploading to IronWorker and running it remotely.

TODO

  • Run the worker remotely

License

Copyright © 2014 Trevor Hartman

Distributed under the Eclipse Public License version 1.0.

Something went wrong with that request. Please try again.