rest-ftp-daemon 0.302.3 → 0.304.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 +4 -4
- data/Gemfile.lock +14 -3
- data/README.md +1 -1
- data/bin/rest-ftp-daemon +3 -3
- data/config.ru +1 -1
- data/defaults.yml +2 -2
- data/lib/rest-ftp-daemon/api/root.rb +10 -4
- data/lib/rest-ftp-daemon/api/status.rb +10 -0
- data/lib/rest-ftp-daemon/constants.rb +1 -4
- data/lib/rest-ftp-daemon/counters.rb +4 -2
- data/lib/rest-ftp-daemon/job.rb +11 -12
- data/lib/rest-ftp-daemon/job_queue.rb +10 -12
- data/lib/rest-ftp-daemon/launcher.rb +1 -0
- data/lib/rest-ftp-daemon/metrics.rb +10 -0
- data/lib/rest-ftp-daemon/notification.rb +5 -5
- data/lib/rest-ftp-daemon/paginate.rb +1 -0
- data/lib/rest-ftp-daemon/path.rb +2 -0
- data/lib/rest-ftp-daemon/remote.rb +5 -4
- data/lib/rest-ftp-daemon/remote_ftp.rb +3 -1
- data/lib/rest-ftp-daemon/remote_sftp.rb +4 -2
- data/lib/rest-ftp-daemon/views/dashboard_workers.haml +4 -1
- data/lib/rest-ftp-daemon/worker_pool.rb +6 -7
- data/lib/rest-ftp-daemon/workers/conchita.rb +8 -7
- data/lib/rest-ftp-daemon/workers/reporter.rb +24 -12
- data/lib/rest-ftp-daemon/workers/transfer.rb +8 -7
- data/lib/rest-ftp-daemon/workers/worker.rb +12 -0
- data/lib/rest-ftp-daemon.rb +10 -16
- data/lib/{rest-ftp-daemon → shared}/patch_array.rb +0 -0
- data/lib/{rest-ftp-daemon → shared}/patch_haml.rb +0 -2
- data/rest-ftp-daemon.gemspec +29 -28
- metadata +34 -24
- data/lib/rest-ftp-daemon/logger_pool.rb +0 -61
- data/lib/shared/conf.rb +0 -201
- data/lib/shared/logger_formatter.rb +0 -31
- data/lib/shared/logger_helper.rb +0 -78
- data/lib/shared/worker_base.rb +0 -112
data/lib/shared/worker_base.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
module Shared
|
2
|
-
class WorkerBase
|
3
|
-
include Shared::LoggerHelper
|
4
|
-
attr_reader :logger
|
5
|
-
attr_reader :pool
|
6
|
-
attr_reader :wid
|
7
|
-
|
8
|
-
def initialize wid, pool = nil
|
9
|
-
# Logger
|
10
|
-
@logger = RestFtpDaemon::LoggerPool.instance.get :workers
|
11
|
-
@log_worker_status_changes = true
|
12
|
-
|
13
|
-
# Configuration
|
14
|
-
@config = {}
|
15
|
-
|
16
|
-
# Set thread context
|
17
|
-
@pool = pool
|
18
|
-
@wid = wid
|
19
|
-
Thread.current.thread_variable_set :pool, pool
|
20
|
-
Thread.current.thread_variable_set :wid, wid
|
21
|
-
Thread.current.thread_variable_set :started_at, Time.now
|
22
|
-
worker_status WORKER_STATUS_STARTING
|
23
|
-
|
24
|
-
# Ask worker to init itself, and return if there are errors
|
25
|
-
if worker_init_result = worker_init
|
26
|
-
log_error "worker_init aborting: #{worker_init_result.inspect}", @config
|
27
|
-
else
|
28
|
-
# We're ok, let's start out loop
|
29
|
-
start_loop
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
protected
|
34
|
-
|
35
|
-
# Worker methods prototypes
|
36
|
-
def worker_init
|
37
|
-
end
|
38
|
-
def worker_after
|
39
|
-
end
|
40
|
-
def worker_process
|
41
|
-
end
|
42
|
-
def worker_config
|
43
|
-
end
|
44
|
-
|
45
|
-
def log_prefix
|
46
|
-
[
|
47
|
-
Thread.current.thread_variable_get(:wid),
|
48
|
-
Thread.current.thread_variable_get(:jid),
|
49
|
-
nil
|
50
|
-
]
|
51
|
-
end
|
52
|
-
|
53
|
-
def start_loop
|
54
|
-
log_info "start_loop starting", @config
|
55
|
-
loop do
|
56
|
-
begin
|
57
|
-
# Do the hard work
|
58
|
-
worker_process
|
59
|
-
|
60
|
-
# Do the cleaning/sleeping stuff
|
61
|
-
worker_after
|
62
|
-
|
63
|
-
rescue StandardError => e
|
64
|
-
log_error "WORKER EXCEPTION: #{e.inspect}"
|
65
|
-
sleep 1
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def worker_status status, job = nil
|
71
|
-
# Update thread variables
|
72
|
-
Thread.current.thread_variable_set :status, status
|
73
|
-
Thread.current.thread_variable_set :updated_at, Time.now
|
74
|
-
|
75
|
-
# Nothin' to log if "silent"
|
76
|
-
return unless @log_worker_status_changes
|
77
|
-
|
78
|
-
# Log this status change
|
79
|
-
if job.is_a?(Job)
|
80
|
-
log_info "status [#{status}] on job[#{job.id}] status[#{job.status}] error[#{job.error}]"
|
81
|
-
else
|
82
|
-
log_info "status [#{status}]"
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def worker_jid jid
|
87
|
-
Thread.current.thread_variable_set :jid, jid
|
88
|
-
Thread.current.thread_variable_set :updated_at, Time.now
|
89
|
-
end
|
90
|
-
|
91
|
-
def config_section key
|
92
|
-
# Debugging
|
93
|
-
@log_worker_status_changes = @debug
|
94
|
-
|
95
|
-
# Set my configuration
|
96
|
-
if (Conf[key].is_a? Hash) && Conf[key]
|
97
|
-
@config = Conf[key]
|
98
|
-
else
|
99
|
-
log_error "missing [#{key}] configuration"
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
# NewRelic instrumentation
|
104
|
-
if Conf.newrelic_enabled?
|
105
|
-
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
106
|
-
add_transaction_tracer :worker_init, category: :task
|
107
|
-
add_transaction_tracer :worker_after, category: :task
|
108
|
-
add_transaction_tracer :worker_process, category: :task
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
end
|