rsf_services 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 46001a2fbe201745f35014c352239ee1b2113a74
4
+ data.tar.gz: 8ab3b1a92839931bbd8c0d7b3a79c9a8d6f62df8
5
+ SHA512:
6
+ metadata.gz: a454bdf4c4696ba46da5b4e891830ee680ae9a3477bc640b17d3cbb3a90fdebbf2aadddb27400e0268b530f2d94a60b98be674d05666ed85ed1c3c7171e8c661
7
+ data.tar.gz: 2f6c456961efc434f53accfaeaea51f832191fa991d1e883cc082ac6c422cd36dabf2584c94618c9bec75a61b4de24eaaa4e5ea20cfcf440ce20d0fd3eafd3a9
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: rsf_services.rb
4
+
5
+ require 'rscript'
6
+ require 'dws-registry'
7
+ require 'logger'
8
+
9
+
10
+ class RSFServices < RScript
11
+
12
+ def initialize(reg_path='', package_basepath: '')
13
+ super()
14
+
15
+ @services = {}
16
+ @package_basepath = package_basepath
17
+
18
+ if reg_path.length > 0 then
19
+
20
+ @services['registry'] = reg = DWSRegistry.new reg_path
21
+
22
+ # load the system/startup RSF jobs
23
+ jobs = reg.get_keys('system/startup/.[load="1"]').inject({}) do |r, job|
24
+ settings = reg.get_keys("system/packages/#{job.name}/*")\
25
+ .inject({}){|r,x| r.merge(x.name.to_sym => x.text) }
26
+ r.merge(job.name => settings)
27
+ end
28
+
29
+ jobs.each do |package, settings|
30
+ r = run_job(package.to_s, '//job:load', settings,
31
+ package_path: settings[:url])
32
+ end
33
+ end
34
+
35
+ end
36
+
37
+ def run_job(package, jobs, params={}, *qargs,
38
+ package_path: ("%s/%s.rsf" % [@package_basepath, package]))
39
+
40
+ yield(params) if block_given?
41
+ result, args = read([package_path, jobs.split(/\s/),qargs].flatten)
42
+
43
+ rws = self
44
+
45
+ begin
46
+
47
+ r = eval result
48
+ return r
49
+
50
+ rescue Exception => e
51
+ params = {}
52
+ err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
53
+ log(err_label)
54
+ end
55
+
56
+ end
57
+
58
+ def log(msg)
59
+ if @log == true then
60
+ @logger.debug msg
61
+ end
62
+ end
63
+
64
+ end
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rsf_services
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDmDCCAoCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBJMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjETMBEGCgmSJomT
15
+ 8ixkARkWA2V1XzAeFw0xNDA3MTIxOTQwMTlaFw0xNTA3MTIxOTQwMTlaMEkxEjAQ
16
+ BgNVBAMMCWdlbW1hc3RlcjEeMBwGCgmSJomT8ixkARkWDmphbWVzcm9iZXJ0c29u
17
+ MRMwEQYKCZImiZPyLGQBGRYDZXVfMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
18
+ CgKCAQEA1DClU6Pd/0b4nvq/x5LFVUImRhnj6C/6fdSBcdyFObJOH8C5i6Mllr/G
19
+ eRykF+Qvh1ZFi+RjrxecMIN5rZ5A6QIxqEhlLM2SQKOf4vIdqjrGQIcHeD8fsk/N
20
+ djPLrfiX2OHYRQrsj4bAlMTQVTy70gK8I3+NOUpePyzYe52KX0Vde/xD+stvupCb
21
+ CmswhWsbjFJGrQusFr5QFmJMgtPoxqWyNtkhPiqsM5eqp3r9ZJAD2veSqox9rq/Z
22
+ dVRHwQG9DvVXyqveXqvb545X2Ef0+Nw9uNBDEJfSUvmFwT/q/l5Ps+7ydj+ansxx
23
+ IhheD5wkWMOs/NkuUVas1wMMmOGrzQIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYD
24
+ VR0PBAQDAgSwMB0GA1UdDgQWBBQFiNJVQtZNj1IoNIOz+GzxFRjJ8DAmBgNVHREE
25
+ HzAdgRtnZW1tYXN0ZXJAamFtZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2Vt
26
+ bWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MA0GCSqGSIb3DQEBBQUAA4IBAQAq6pKR
27
+ Wx9Y5UDCEmxphcNgT90e9gR5B1zxSktEF1GO9WtrG/J/Eb6G48tweJKe1nrib4La
28
+ Zx3+vHIDj7FguCB1fQgQx/pkx64kW+CZOzWtLOrsJiqKrme7/nak9TZyBy2BF5K2
29
+ oCTU2uxFT74h6FmPLlrDR206F04F4HaFzJKNMKG7cDhanQs5hsuXFAEQdD6DWJik
30
+ awGab/qAohwrAtP/MCNls9YNFvBWWDPozQ0WZlCe8zXjoTAtDpYUVBznhuWkdPpC
31
+ FpnFf8SgVEggA3UJApMkdLJgylaFVRWB9YefdTYWcBgpvwnI5hrcpw06jXRmazk5
32
+ JTUarTGO425WKYWE
33
+ -----END CERTIFICATE-----
34
+ date: 2014-07-12 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rscript
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.25
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.1'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.1.25
56
+ - !ruby/object:Gem::Dependency
57
+ name: dws-registry
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.1'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.1.3
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.1'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.3
76
+ description:
77
+ email: james@r0bertson.co.uk
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - lib/rsf_services.rb
83
+ homepage: https://github.com/jrobertson/rsf_services
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 2.1.2
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.2.2
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Designed to run within a server to run RSF jobs, as well as otherservices.
107
+ test_files: []
108
+ has_rdoc:
metadata.gz.sig ADDED
Binary file