https://github.com/drbrain/power_mitten
A DRb-based cloud processing toolkit
https://github.com/drbrain/power_mitten
Last synced: 5 months ago
JSON representation
A DRb-based cloud processing toolkit
- Host: GitHub
- URL: https://github.com/drbrain/power_mitten
- Owner: drbrain
- Created: 2014-07-16T23:28:54.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-06-10T23:48:44.000Z (about 13 years ago)
- Last Synced: 2025-06-06T03:11:28.326Z (about 1 year ago)
- Size: 376 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
- Changelog: History.rdoc
Awesome Lists containing this project
README
= power_mitten
home :: https://github.com/att-cloud/power_mitten
bugs :: https://github.com/att-cloud/power_mitten/issues
== Description
A DRb-based cloud processing toolkit.
== Features
* DRb-based multiprocess coordination
* Runs on OpenStack or locally
* Logs to syslog
== Running Locally
power_mitten uses the +mitten+ executable to control processes.
First, start a control task:
$ mitten startup --type Control --localhost
All +mitten+ processes log to syslog. On OS X you can use Console.app to see
these logs.
The control task coordinates shared resources such as mutexes and queues.
Alongside the control task is a Rinda:RingServer which other mitten services
to find each other.
When using mitten startup locally you must give it a type. When
run in the cloud +mitten+ automatically determines this from the VM name.
You can then start the console:
$ mitten console --localhost
This will show you all the running processes and information about their
state. (If you start the console first it will wait for a control task.)
You will see output similar to this:
control pid 62724 at kault, 29572 RSS, 0 children
Console pid 63498 at kault, 40048 RSS (me)
RingServer 3โ 3โค 0โ pid 62725 at kault, 29764 RSS
To start a +mitten+ task give the task name as the type for +startup+ along
with the number of workers to start:
$ mitten startup --type YourTask --localhost --workers 1
This will start one process of YourTask. +mitten+ will manage multiple
workers doing the same task if you tell it to launch more.
To help debug your task, run it with the --once option:
$ mitten startup --type YourTask --localhost --workers 1 --once
Ordinarily +mitten+ will restart your task upon exceptions, but with
--once it will exit instead.
The +mitten+ executable will load the ~/.power_mitten
configuration file.
If the file exists it must contain OpenStack and swift credential information
even when running locally. Use this dummy configuration:
openstack_auth_url: https://auth.example/v2.0/tokens
openstack_tenant: TENANT
openstack_username: USERNAME
openstack_api_key: PASSWORD
swift_uri: https://storage.example/auth/
swift_username: TENANT:USERNAME
swift_key: PASSWORD
== Install
sudo gem install power_mitten
== Developers
After checking out the source, run:
$ rake newb
This task will install any missing dependencies, run the tests and generate
the RDoc.
== License
Copyright (c) AT&T