cantemo-portal-agent 1.2.3 → 1.2.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.
- checksums.yaml +4 -4
- data/lib/cantemo/portal/agent/cli/commands/watch_folders.rb +6 -7
- data/lib/cantemo/portal/agent/version.rb +1 -1
- data/lib/envoi/mam/cantemo/agent/cli.rb +13 -0
- data/lib/envoi/mam/cantemo/agent/watch_folder_manager.rb +37 -10
- data/lib/envoi/watch_folder_utility/watch_folder.rb +4 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de359aa5f03562ec1007a7bdb3a9dc0af6362216
|
4
|
+
data.tar.gz: 1fb3d59042129c18561dd1504a9ace1a5508a385
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a75c0ac6f20dedffbfb5cd7575828ea43ea29c75b1c4fea6f56c029ac4ef89dcd7d740d2b048bb04f3c455ef3420f4b7c16264ac799d7f0d4b6334dda0f87b2
|
7
|
+
data.tar.gz: b793017b7a68087dd13d1a278c9f37ca2cbf77bbf4a29455b9dd7f70f97ac137e4c3304698027c8cb37bb988855ff560f46da54782be700ede429b4750ee10a3
|
@@ -9,7 +9,6 @@ require 'pp'
|
|
9
9
|
|
10
10
|
require 'envoi/mam/agent/cli'
|
11
11
|
require 'envoi/mam/cantemo/agent'
|
12
|
-
# require 'envoi/aspera/watch_service/watch_folder'
|
13
12
|
require 'envoi/mam/cantemo/agent/watch_folder_manager'
|
14
13
|
|
15
14
|
Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS.clear
|
@@ -20,10 +19,6 @@ Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS.concat [
|
|
20
19
|
'~/.cantemo-portal-agent-config.json',
|
21
20
|
]
|
22
21
|
default_config_file_paths = Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS
|
23
|
-
|
24
|
-
# aspera_ascp_paths = Envoi::Mam::Agent::TransferClient::Aspera::ASCP_PATHS
|
25
|
-
# default_aspera_ascp_path = aspera_ascp_paths.find { |v| File.exist? v } || aspera_ascp_paths.first
|
26
|
-
|
27
22
|
current_command = ARGV.shift
|
28
23
|
ARGV << 'run' if ARGV.empty?
|
29
24
|
# ARGV << '--help' if ARGV.empty?
|
@@ -68,13 +63,17 @@ if command
|
|
68
63
|
end
|
69
64
|
|
70
65
|
|
71
|
-
|
66
|
+
should_daemonize = (daemon_control_command_present && %w(start restart).include?(command)) || args[:daemonize]
|
72
67
|
|
73
68
|
# puts "#{__FILE__}:#{__LINE__ } #{args}"
|
74
69
|
# next_command = ARGV.shift
|
75
70
|
# puts "COMMAND: #{next_command}"
|
71
|
+
#
|
72
|
+
#
|
73
|
+
|
74
|
+
|
76
75
|
|
77
76
|
class Watcher < Envoi::Mam::Cantemo::Agent::WatchFolderManager; end
|
78
77
|
# daemonize ? Watcher.run_as_daemon(args, { force: true }) : Watcher.run(args)
|
79
78
|
# daemon_control_command_present ? Watcher.run_as_daemon(args) : Watcher.run(args)
|
80
|
-
Watcher.
|
79
|
+
Watcher.run_with_process_manager(args)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'envoi/mam/agent/cli'
|
2
|
+
require 'envoi/mam/cantemo/agent'
|
3
|
+
# require 'envoi/aspera/watch_service/watch_folder'
|
4
|
+
require 'envoi/mam/cantemo/agent/watch_folder_manager'
|
5
|
+
|
6
|
+
Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS.clear
|
7
|
+
Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS.concat [
|
8
|
+
'./cantemo-portal-agent-config.json',
|
9
|
+
'~/cantemo-portal-agent-config.json',
|
10
|
+
'./.cantemo-portal-agent-config.json',
|
11
|
+
'~/.cantemo-portal-agent-config.json',
|
12
|
+
]
|
13
|
+
default_config_file_paths = Envoi::Mam::Agent::CLI::CONFIG_FILE_PATHS
|
@@ -5,6 +5,24 @@ require 'envoi/watch_folder_utility/watch_folder/handler/listen'
|
|
5
5
|
|
6
6
|
module Envoi::Mam::Cantemo
|
7
7
|
|
8
|
+
module OS
|
9
|
+
def OS.windows?
|
10
|
+
(/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def OS.mac?
|
14
|
+
(/darwin/ =~ RUBY_PLATFORM) != nil
|
15
|
+
end
|
16
|
+
|
17
|
+
def OS.unix?
|
18
|
+
!OS.windows?
|
19
|
+
end
|
20
|
+
|
21
|
+
def OS.linux?
|
22
|
+
OS.unix? and not OS.mac?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
8
26
|
class Agent
|
9
27
|
|
10
28
|
class WatchFolderManager
|
@@ -93,6 +111,9 @@ module Envoi::Mam::Cantemo
|
|
93
111
|
|
94
112
|
# Iterates through watch_folder_defs and populates @watch_folders with watch folders initialized from the watch
|
95
113
|
# folder definitions
|
114
|
+
#
|
115
|
+
# Supports both array and hash formats, the hash format will use the key as the mame if the definition doesn't
|
116
|
+
# already have a name set
|
96
117
|
def process_watch_folder_defs
|
97
118
|
logger.debug { 'Processing watch folder definitions.' }
|
98
119
|
if watch_folder_defs.is_a?(Array)
|
@@ -201,8 +222,7 @@ module Envoi::Mam::Cantemo
|
|
201
222
|
|
202
223
|
stable_files.each do |file|
|
203
224
|
next if file.respond_to?(:ignore?) ? file.ignore? : ignored_file_paths.include?(file.path)
|
204
|
-
next if file.processing
|
205
|
-
next if file.processed
|
225
|
+
next if file.processing || file.processed
|
206
226
|
|
207
227
|
if includes && !includes.empty?
|
208
228
|
should_include = find_in_patterns(includes, file)
|
@@ -355,18 +375,25 @@ module Envoi::Mam::Cantemo
|
|
355
375
|
|
356
376
|
end
|
357
377
|
|
358
|
-
def self.
|
378
|
+
def self.run_with_process_manager(args, options = {})
|
359
379
|
# ARGV.unshift 'run' unless %w(start stop restart run zap killall status).include? ARGV.first
|
360
|
-
|
361
|
-
|
362
|
-
|
380
|
+
if OS.windows?
|
381
|
+
self.run(args)
|
382
|
+
else
|
383
|
+
require 'daemons'
|
384
|
+
proc = Proc.new { self.run(args) }
|
385
|
+
app_name = 'cantemo-portal-watch-folders'
|
363
386
|
|
364
|
-
|
365
|
-
|
387
|
+
# options[:app_name] = app_name
|
388
|
+
# daemons_run_proc_with_cleanup(options, &proc)
|
366
389
|
|
367
|
-
|
368
|
-
|
390
|
+
# options[:force] = true
|
391
|
+
Daemons.run_proc(app_name, options, &proc)
|
392
|
+
end
|
393
|
+
end
|
369
394
|
|
395
|
+
def self.run_in_foreground(args, options = { })
|
396
|
+
self.run(args)
|
370
397
|
end
|
371
398
|
|
372
399
|
end
|
@@ -20,7 +20,6 @@ module Envoi
|
|
20
20
|
:min_stable_time,
|
21
21
|
:poll_interval
|
22
22
|
|
23
|
-
|
24
23
|
def initialize(args = { })
|
25
24
|
initialize_logger(args)
|
26
25
|
@definition = args[:definition].dup
|
@@ -42,6 +41,8 @@ module Envoi
|
|
42
41
|
@default_agent = args[:default_agent]
|
43
42
|
@default_agent_class = args[:default_agent_class] || @default_agent.class
|
44
43
|
|
44
|
+
@last_poll_time = nil
|
45
|
+
|
45
46
|
process_agent_defs
|
46
47
|
logger.debug { "Watch Folder Initialized. #{Object.__id__}" }
|
47
48
|
end
|
@@ -274,10 +275,8 @@ module Envoi
|
|
274
275
|
agents = agents.map { |k,v| v['name'] ||= k; v }
|
275
276
|
end
|
276
277
|
if agent
|
277
|
-
if agent.is_a?(Hash)
|
278
|
-
|
279
|
-
agent = agent.map { |k,v| v['name'] ||= k; v }
|
280
|
-
end
|
278
|
+
if agent.is_a?(Hash) && agent.keys.length == 1
|
279
|
+
agent = agent.map { |k,v| v['name'] ||= k; v }
|
281
280
|
end
|
282
281
|
agents.concat [*agent]
|
283
282
|
watch_folder_def.delete('agent')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cantemo-portal-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Whitson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asperalm
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- lib/envoi/mam/agent/version.rb
|
169
169
|
- lib/envoi/mam/agent/watch_folder_utility/foreman.rb
|
170
170
|
- lib/envoi/mam/cantemo/agent.rb
|
171
|
+
- lib/envoi/mam/cantemo/agent/cli.rb
|
171
172
|
- lib/envoi/mam/cantemo/agent/watch_folder_handler-working.rb
|
172
173
|
- lib/envoi/mam/cantemo/agent/watch_folder_handler_aspera.rb
|
173
174
|
- lib/envoi/mam/cantemo/agent/watch_folder_manager.rb
|