singleton_process 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/.travis.yml +1 -0
- data/README.md +10 -0
- data/lib/singleton_process.rb +3 -1
- data/lib/singleton_process/VERSION +1 -0
- data/singleton_process.gemspec +1 -2
- metadata +29 -28
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://travis-ci.org/rjackson/singleton_process)
|
2
|
+
|
1
3
|
# SingletonProcess
|
2
4
|
|
3
5
|
Ensure that a given process is only running once. Helpful for ensure that scheduled tasks do not overlap if they run longer than the scheduled interval.
|
@@ -6,6 +8,14 @@ Prior attempts simply used a pid file, and checked if the process specified was
|
|
6
8
|
since the system reuses PID's you can get false positives. This project uses a locked pid file to ensure that the process is truly still
|
7
9
|
running. So basically, if the file is locked the process is still running.
|
8
10
|
|
11
|
+
## Supported Rubies
|
12
|
+
|
13
|
+
This process is currently tested in nearly every ruby version supported by Travis-CI
|
14
|
+
|
15
|
+
* MRI versions 1.8.7, 1.9.2, 1.9.3, 2.0.0
|
16
|
+
* JRuby running in either 1.8 or 1.9 mode
|
17
|
+
* Rubinius running in either 1.8 or 1.9 mode
|
18
|
+
|
9
19
|
## Installation
|
10
20
|
|
11
21
|
Add this line to your application's Gemfile:
|
data/lib/singleton_process.rb
CHANGED
@@ -3,7 +3,9 @@ require 'pathname'
|
|
3
3
|
class SingletonProcess
|
4
4
|
class AlreadyRunningError < RuntimeError; end
|
5
5
|
|
6
|
-
|
6
|
+
unless defined? VERSION
|
7
|
+
VERSION = File.read(File.expand_path('singleton_process/VERSION', File.dirname(__FILE__)))
|
8
|
+
end
|
7
9
|
|
8
10
|
attr_accessor :name, :root_path, :app_name
|
9
11
|
private :name=
|
@@ -0,0 +1 @@
|
|
1
|
+
0.0.4
|
data/singleton_process.gemspec
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'singleton_process'
|
5
4
|
|
6
5
|
Gem::Specification.new do |gem|
|
7
6
|
gem.name = "singleton_process"
|
8
|
-
gem.version =
|
7
|
+
gem.version = File.read(File.join(lib, 'singleton_process','VERSION'))
|
9
8
|
gem.authors = ["Robert Jackson"]
|
10
9
|
gem.email = ["robert.w.jackson@me.com"]
|
11
10
|
gem.description = %q{Ensure that a given process is only running once. Helpful for ensure that scheduled tasks do not overlap if they run longer than the scheduled interval.}
|
metadata
CHANGED
@@ -1,92 +1,93 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: singleton_process
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Robert Jackson
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
date: 2013-02-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
18
17
|
requirements:
|
19
|
-
- - ~>
|
18
|
+
- - "~>"
|
20
19
|
- !ruby/object:Gem::Version
|
21
20
|
version: 2.12.0
|
22
21
|
none: false
|
23
|
-
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
25
23
|
requirements:
|
26
|
-
- - ~>
|
24
|
+
- - "~>"
|
27
25
|
- !ruby/object:Gem::Version
|
28
26
|
version: 2.12.0
|
29
27
|
none: false
|
28
|
+
prerelease: false
|
29
|
+
type: :development
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: childprocess
|
32
|
-
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
34
33
|
requirements:
|
35
|
-
- - ~>
|
34
|
+
- - "~>"
|
36
35
|
- !ruby/object:Gem::Version
|
37
36
|
version: 0.3.8
|
38
37
|
none: false
|
39
|
-
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
41
39
|
requirements:
|
42
|
-
- - ~>
|
40
|
+
- - "~>"
|
43
41
|
- !ruby/object:Gem::Version
|
44
42
|
version: 0.3.8
|
45
43
|
none: false
|
46
|
-
|
47
|
-
|
44
|
+
prerelease: false
|
45
|
+
type: :development
|
46
|
+
description: Ensure that a given process is only running once. Helpful for ensure that scheduled tasks do not overlap if they run longer than the scheduled interval.
|
48
47
|
email:
|
49
48
|
- robert.w.jackson@me.com
|
50
49
|
executables: []
|
51
50
|
extensions: []
|
52
51
|
extra_rdoc_files: []
|
53
52
|
files:
|
54
|
-
- .gitignore
|
55
|
-
- .rspec
|
56
|
-
- .travis.yml
|
53
|
+
- ".gitignore"
|
54
|
+
- ".rspec"
|
55
|
+
- ".travis.yml"
|
57
56
|
- Gemfile
|
58
57
|
- LICENSE.txt
|
59
58
|
- README.md
|
60
59
|
- Rakefile
|
61
60
|
- lib/singleton_process.rb
|
61
|
+
- lib/singleton_process/VERSION
|
62
62
|
- singleton_process.gemspec
|
63
63
|
- spec/singleton_process_spec.rb
|
64
64
|
- spec/spec_helper.rb
|
65
65
|
homepage: https://github.com/rjackson/singleton_process
|
66
66
|
licenses: []
|
67
|
-
post_install_message:
|
67
|
+
post_install_message:
|
68
68
|
rdoc_options: []
|
69
69
|
require_paths:
|
70
70
|
- lib
|
71
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: !binary |-
|
76
|
+
MA==
|
76
77
|
none: false
|
77
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
79
|
requirements:
|
79
|
-
- -
|
80
|
+
- - ">="
|
80
81
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
82
|
+
version: !binary |-
|
83
|
+
MA==
|
82
84
|
none: false
|
83
85
|
requirements: []
|
84
|
-
rubyforge_project:
|
86
|
+
rubyforge_project:
|
85
87
|
rubygems_version: 1.8.24
|
86
|
-
signing_key:
|
88
|
+
signing_key:
|
87
89
|
specification_version: 3
|
88
90
|
summary: Ensure that a given process is only running once.
|
89
91
|
test_files:
|
90
92
|
- spec/singleton_process_spec.rb
|
91
93
|
- spec/spec_helper.rb
|
92
|
-
has_rdoc:
|