flame_server_toys 0.2.2 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f45aba613713cf69e1168a2ee6dac2391d22f034f707ac8651445d284c37c6a
4
- data.tar.gz: e379aac82ee993b8469031b147ba217f83bd3d92f85eba7608c4e8bf53a6dcea
3
+ metadata.gz: 7430614acb1e7abe6a1f8bcaa9c7e281ba077a3cb0288db3ce559f8021100edf
4
+ data.tar.gz: fda0da85de411f6aed5df4d19289d0bdf3d8047500c776ee0ef8b94f69a16cf5
5
5
  SHA512:
6
- metadata.gz: 02ca275f76b08a1a388a8e1e14bcf25ac0508dde5978fe5744229e8f5e340bb9d42716fb0fa6cf52031b99785335546f5e6cdafb942b739eb74b9fc8e143838e
7
- data.tar.gz: 779be44bf684f2351ecbc1e4a59ab9dc7bcfdd05b9599dd2af43e402ba84c5d97bba6b04dc7f6bf7a822a45f67e0cb270840e45092937494801343f338f97222
6
+ metadata.gz: 6829b8e3cdfd47b6230e40fc4faca0cb396f228405c95a9ba2f95f683922f81155ac6e6481b8d7301f68ab89483940524f8046d83366e6d805e7c483d58fa5c1
7
+ data.tar.gz: b8160d1cd665669a22e7a8bdf8d007d113eeab6c73af839b257b3f66f098272642f3d1f33656f2eed47d2f9588381727e846e4656d78c0a7a43d46626c99e810
@@ -2,8 +2,12 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 0.3.0 (2020-12-02)
6
+
5
7
  ## 0.2.2 (2020-09-23)
6
8
 
9
+ * Fix `status` command.
10
+
7
11
  ## 0.2.1 (2020-08-24)
8
12
 
9
13
  * Fix system calls.
data/README.md CHANGED
@@ -45,7 +45,8 @@ expand FlameServerToys::Template,
45
45
  ```
46
46
 
47
47
  On `start` and `restart` commands in `development` environment there will be spawned
48
- [Filewatchers](https://github.com/filewatcher/filewatcher) from `filewatcher.yaml` file.
48
+ `Filewatcher`s from `filewatcher.yaml` file
49
+ via [`filewatcher-matrix`](https://github.com/filewatcher/filewatcher-matrix).
49
50
 
50
51
  ## Development
51
52
 
@@ -3,8 +3,6 @@
3
3
  require 'memery'
4
4
  require 'yaml'
5
5
 
6
- require_relative '_pids_file'
7
-
8
6
  module FlameServerToys
9
7
  class Template
10
8
  ## Base class for toys
@@ -33,11 +31,6 @@ module FlameServerToys
33
31
  super sh_command(command), **options
34
32
  end
35
33
 
36
- def sh_spawn(command, print: true)
37
- puts "spawn #{command}" if print
38
- spawn sh_command(command), pgroup: true
39
- end
40
-
41
34
  def sh_command(command)
42
35
  require 'shellwords'
43
36
 
@@ -51,11 +44,6 @@ module FlameServerToys
51
44
  sh "#{context_directory}/exe/setup/ruby.sh"
52
45
  sh("#{context_directory}/exe/setup/node.sh") if %i[start restart].include?(command)
53
46
 
54
- if %i[stop restart].include?(command)
55
- filewatcher_pids_file = pids_file_class.new(:filewatcher)
56
- filewatcher_pids_file.kill_each.delete
57
- end
58
-
59
47
  web_server(command)
60
48
  end
61
49
 
@@ -77,29 +65,15 @@ module FlameServerToys
77
65
  spawn_development_filewatchers
78
66
 
79
67
  puma_command File.exist?(@config[:server][:puma_pid_file]) ? 'restart' : 'start'
80
- rescue SystemExit, Interrupt => e
81
- pids_file_class.new(:filewatcher).kill_each.delete
82
-
83
- raise e
84
68
  end
85
69
 
86
70
  def spawn_development_filewatchers
87
- development_filewatchers =
88
- YAML.load_file("#{context_directory}/filewatchers.yaml").map do |args|
89
- filewatcher_command args[:pattern], args[:command], exclude: args[:exclude]
90
- end
91
-
92
- filewatcher_pids = development_filewatchers.map { |command| sh_spawn command }
71
+ require 'filewatcher/matrix'
93
72
 
94
- pids_file_class.new(:filewatcher, filewatcher_pids).dump
95
- end
96
-
97
- def filewatcher_command(pattern, execute, exclude: nil)
98
- ## Don't use `bundle exec`, it's already required by `toys`
99
- ## https://github.com/dazuma/toys/issues/65
100
- <<-CMD.split.join(' ')
101
- filewatcher #{"--exclude '#{exclude}'" unless exclude.nil?} '#{pattern}' '#{execute}'
102
- CMD
73
+ Thread.new do
74
+ matrix = Filewatcher::Matrix.new("#{context_directory}/filewatchers.yaml")
75
+ matrix.start
76
+ end
103
77
  end
104
78
 
105
79
  def waiting_mailing_lock
@@ -109,15 +83,6 @@ module FlameServerToys
109
83
  sleep 1
110
84
  end
111
85
  end
112
-
113
- memoize def pids_file_class
114
- subclass = Class.new(PidsFile)
115
- pids_dir = @config[:pids_dir]
116
- subclass.class_exec do
117
- self.pids_dir = pids_dir
118
- end
119
- subclass
120
- end
121
86
  end
122
87
  end
123
88
  end
@@ -9,10 +9,6 @@ module FlameServerToys
9
9
  to_run do
10
10
  @config = template.config
11
11
 
12
- puts
13
- puts 'Filewatcher:'
14
- puts
15
- ps_with_grep '[f]ilewatcher'
16
12
  puts
17
13
  puts 'Puma:'
18
14
  puts
@@ -10,8 +10,6 @@ module FlameServerToys
10
10
  @config = template.config
11
11
 
12
12
  server :stop
13
-
14
- pids_file_class.new(:filewatcher).kill_each.delete
15
13
  end
16
14
  end
17
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FlameServerToys
4
- VERSION = '0.2.2'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flame_server_toys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-23 00:00:00.000000000 Z
11
+ date: 2020-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alt_memery
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: filewatcher-cli
28
+ name: filewatcher-matrix
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0.beta1
33
+ version: 0.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0.beta1
40
+ version: 0.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: gorilla_patch
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.4.0
103
+ version: 0.5.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.4.0
110
+ version: 0.5.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: toys
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -156,28 +156,28 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 0.19.0
159
+ version: 0.20.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 0.19.0
166
+ version: 0.20.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.91.0
173
+ version: '1.0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.91.0
180
+ version: '1.0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rubocop-performance
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '1.0'
201
+ version: '2.0'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '1.0'
208
+ version: '2.0'
209
209
  description: 'Toys for Flame web application server management, like start, stop,
210
210
  restart, etc.
211
211
 
@@ -222,7 +222,6 @@ files:
222
222
  - lib/flame_server_toys.rb
223
223
  - lib/flame_server_toys/template.rb
224
224
  - lib/flame_server_toys/template/_base.rb
225
- - lib/flame_server_toys/template/_pids_file.rb
226
225
  - lib/flame_server_toys/template/monitor.rb
227
226
  - lib/flame_server_toys/template/phased_restart.rb
228
227
  - lib/flame_server_toys/template/restart.rb
@@ -252,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
252
251
  - !ruby/object:Gem::Version
253
252
  version: '0'
254
253
  requirements: []
255
- rubygems_version: 3.1.2
254
+ rubygems_version: 3.1.4
256
255
  signing_key:
257
256
  specification_version: 4
258
257
  summary: Toys for Flame web application server management
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'English'
4
- require 'fileutils'
5
-
6
- module FlameServerToys
7
- class Template
8
- ## Class for pids files
9
- class PidsFile
10
- class << self
11
- ## It will be set in the Base template from received config
12
- attr_accessor :pids_dir
13
- end
14
-
15
- def initialize(name, *pids)
16
- @file = File.join self.class.pids_dir, "#{name}.pids"
17
- @pids = pids.any? ? pids : read
18
- end
19
-
20
- def dump(pids = @pids)
21
- FileUtils.mkdir_p self.class.pids_dir
22
- puts "PidsFile dump : #{pids} => #{@file}"
23
- File.write @file, pids.join($RS)
24
- end
25
-
26
- def read
27
- return unless File.exist?(@file)
28
-
29
- @pids = File.read(@file).split($RS).map(&:to_i)
30
- puts "PidsFile read : #{@pids}"
31
- @pids
32
- end
33
-
34
- def kill_each(pids = @pids)
35
- Array(pids).each do |pid|
36
- puts "PidsFile kill : #{pid}"
37
- Process.kill('TERM', -Process.getpgid(pid))
38
- rescue Errno::ESRCH
39
- puts "Process #{pid} doesn't exist"
40
- end
41
- self
42
- end
43
-
44
- def delete
45
- return unless File.exist?(@file)
46
-
47
- File.delete @file
48
- end
49
- end
50
-
51
- private_constant :PidsFile
52
- end
53
- end