disbatch 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +28 -0
- data/lib/disbatch.rb +1 -1
- metadata +12 -1
data/README
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
Disbatch is a distributed, multi-language batch processing platform. This package provides both a client library and execution node implementation.
|
2
|
+
|
3
|
+
The current packaging is a bit raw, but an earlier version of this has been successfully used in production for a number of tasks, including mass mailing, user migrations and load generation.
|
4
|
+
|
5
|
+
If you have mongod installed and running, the daemon should start without parameters or configuration, and queues and tasks can be created interactively through a ruby shell or programatically through a script:
|
6
|
+
|
7
|
+
[mberg@c6 ~]$ irb
|
8
|
+
irb(main):001:0> require 'rubygems'
|
9
|
+
=> true
|
10
|
+
irb(main):002:0> require 'disbatch'
|
11
|
+
=> true
|
12
|
+
irb(main):003:0> q = Disbatch::Queue.create('Disbatch::Plugin::Hello')
|
13
|
+
=> #<Disbatch::Queue:0x7f9e38d78948 @id="4eea39ce250c600d5d000001", @plugin="Disbatch::Plugin::Hello">
|
14
|
+
irb(main):004:0> q.push( { 'name' => 'Matt' } )
|
15
|
+
=> #<Disbatch::Queue:0x7f9e38d78948 @id="4eea39ce250c600d5d000001", @plugin="Disbatch::Plugin::Hello">
|
16
|
+
|
17
|
+
In order to facilitate plugin development, tasks can also be executed without running an execution node; e.g.
|
18
|
+
|
19
|
+
irb(main):005:0> require 'disbatch/plugin/hello.rb'
|
20
|
+
Registered Disbatch::Plugin::Hello
|
21
|
+
irb(main):006:0> t = q.pop
|
22
|
+
=> #<Disbatch::Queue::Task:0x7f9e38d56460 @id=BSON::ObjectId('4eea3a9a250c600d5d000003'), @parameters=#<BSON::OrderedHash:0x3fcf1c6abf14 {"name"=>"Matt"}>, @queue=#<Disbatch::Queue:0x7f9e38d78948 @id="4eea39ce250c600d5d000001", @plugin="Disbatch::Plugin::Hello">>
|
23
|
+
irb(main):007:0> t.execute!
|
24
|
+
Executed task with params: #<BSON::OrderedHash:0x3fcf1c6abf14 {"name"=>"Matt"}>
|
25
|
+
=> 1
|
26
|
+
|
27
|
+
|
28
|
+
Feel free to ask questions or feedback through mail, or message me on freenode. I'm usually logged in as "mberg" even if I am not available.
|
data/lib/disbatch.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: disbatch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Matthew Berg
|
@@ -57,6 +57,17 @@ dependencies:
|
|
57
57
|
version: "0"
|
58
58
|
type: :runtime
|
59
59
|
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: eventmachine
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: "0"
|
69
|
+
type: :runtime
|
70
|
+
version_requirements: *id005
|
60
71
|
description: "\t\tDisbatch is a distributed, multi-language batch processing\n\
|
61
72
|
\t\tplatform.\tThis package provides both a client library and\n\
|
62
73
|
\t\texecution node implementation.\n"
|