farm 0.0.3 → 0.0.4
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.md +3 -1
- data/lib/farm/runner.rb +10 -2
- data/lib/farm/tasks.rb +0 -1
- data/lib/farm/version.rb +1 -1
- metadata +8 -8
data/README.md
CHANGED
@@ -7,11 +7,13 @@ Install:
|
|
7
7
|
|
8
8
|
gem install farm
|
9
9
|
|
10
|
-
Set the environment variables `API_KEY` and `APP_NAME
|
10
|
+
Set the environment variables `API_KEY` and `APP_NAME` to your Heroku API key and the name of your app on Heroku, respectively.
|
11
11
|
|
12
12
|
Call with the farm method:
|
13
13
|
|
14
14
|
Foo.bar #=> Run directly
|
15
15
|
Foo.farm.bar #=> Run in background as one-off Heroku process.
|
16
16
|
|
17
|
+
For local development, set the environment variable `FARM_ENV=local`. This will cause background tasks to be run as local rake tasks, rather than one-off Heroku processes.
|
18
|
+
|
17
19
|
Sincere thanks to [https://github.com/collectiveidea/delayed_job](https://github.com/collectiveidea/delayed_job) from which I copied lots of code and functionality.
|
data/lib/farm/runner.rb
CHANGED
@@ -5,13 +5,21 @@ require 'yaml'
|
|
5
5
|
module Farm
|
6
6
|
class Runner
|
7
7
|
def self.run(*args)
|
8
|
-
@payload_object
|
8
|
+
@payload_object = args.shift[:payload_object]
|
9
9
|
|
10
10
|
unless @payload_object.respond_to?(:perform)
|
11
11
|
raise ArgumentError, 'Cannot run items which do not respond to perform'
|
12
12
|
end
|
13
13
|
|
14
|
-
|
14
|
+
if ENV['FARM_ENV'].to_s.strip == 'local'
|
15
|
+
`rake farm:run CMD='#{serialized}'`
|
16
|
+
else
|
17
|
+
Farm::Http.heroku_run serialized
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.serialized
|
22
|
+
CGI.escape(YAML.dump(@payload_object))
|
15
23
|
end
|
16
24
|
end
|
17
25
|
end
|
data/lib/farm/tasks.rb
CHANGED
data/lib/farm/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: farm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-24 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70177451658440 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70177451658440
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70177451657900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70177451657900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rest-client
|
38
|
-
requirement: &
|
38
|
+
requirement: &70177451657260 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 1.6.7
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70177451657260
|
47
47
|
description: Run background jobs as one-off Heroku processes.
|
48
48
|
email: matt.manning@gmail.com
|
49
49
|
executables: []
|