restforce-db 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/restforce/db/command.rb +18 -2
- data/lib/restforce/db/version.rb +1 -1
- data/lib/restforce/db/worker.rb +3 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5c876e8802d8d0c563d8229ea3ebcfaa79347ce
|
4
|
+
data.tar.gz: c74173bd30c5d1994091bf2ab832ad214403c9ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54721e2987733bd681aeda548e188438c0905771870820b38fa115a7c490dbfd8ee5d63691448384951649a2df23b34410bb877c4d14d013d6247c54d5c956b7
|
7
|
+
data.tar.gz: d7949e0760680a8433b5f9c6019a75c09e5862bc0013062403e2ae7d12ff70017aeed8eb8b1e585bd8c5bff507778000f30efa2e3e5a8a3ad4298c945f5f8674
|
data/lib/restforce/db/command.rb
CHANGED
@@ -18,6 +18,7 @@ module Restforce
|
|
18
18
|
verbose: false,
|
19
19
|
pid_dir: Rails.root.join("tmp", "pids"),
|
20
20
|
config: Rails.root.join("config", "restforce-db.yml"),
|
21
|
+
logfile: Rails.root.join("log", "restforce-db.log"),
|
21
22
|
}
|
22
23
|
|
23
24
|
@args = parser.parse!(args)
|
@@ -55,7 +56,7 @@ module Restforce
|
|
55
56
|
Dir.chdir(Rails.root)
|
56
57
|
|
57
58
|
Restforce::DB::Worker.after_fork
|
58
|
-
Restforce::DB::Worker.logger ||=
|
59
|
+
Restforce::DB::Worker.logger ||= logger
|
59
60
|
|
60
61
|
worker = Restforce::DB::Worker.new(options)
|
61
62
|
worker.start
|
@@ -68,7 +69,7 @@ module Restforce
|
|
68
69
|
# Internal: Get an OptionParser for the Restforce::DB CLI.
|
69
70
|
#
|
70
71
|
# Returns an OptionParser.
|
71
|
-
def parser
|
72
|
+
def parser # rubocop:disable MethodLength
|
72
73
|
@parser ||= OptionParser.new do |opt|
|
73
74
|
opt.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options] start|stop|restart|run"
|
74
75
|
|
@@ -82,6 +83,9 @@ module Restforce
|
|
82
83
|
opt.on("-i N", "--interval N", "Amount of time to wait between synchronizations.") do |n|
|
83
84
|
@options[:interval] = n.to_i
|
84
85
|
end
|
86
|
+
opt.on("-l FILE ", "--logfile FILE", "The file where logging output should be captured.") do |file|
|
87
|
+
@options[:logfile] = file
|
88
|
+
end
|
85
89
|
opt.on("--pid-dir DIR", "The directory in which to store the pidfile.") do |dir|
|
86
90
|
@options[:pid_dir] = dir
|
87
91
|
end
|
@@ -91,6 +95,18 @@ module Restforce
|
|
91
95
|
end
|
92
96
|
end
|
93
97
|
|
98
|
+
# Internal: Get a Logger instance to capture output from the sync worker.
|
99
|
+
# Makes the default log formatting a bit more reader-friendly.
|
100
|
+
#
|
101
|
+
# Returns a Logger.
|
102
|
+
def logger
|
103
|
+
@logger ||= Logger.new(@options[:logfile]).tap do |logger|
|
104
|
+
logger.formatter = proc do |severity, datetime, _progname, msg|
|
105
|
+
"#{severity} [#{datetime.strftime('%Y-%m-%d %H:%M:%S')}] #{msg}\n"
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
94
110
|
end
|
95
111
|
|
96
112
|
end
|
data/lib/restforce/db/version.rb
CHANGED
data/lib/restforce/db/worker.rb
CHANGED
@@ -71,9 +71,9 @@ module Restforce
|
|
71
71
|
stop
|
72
72
|
end
|
73
73
|
|
74
|
-
log "Starting synchronization..."
|
75
|
-
|
76
74
|
loop do
|
75
|
+
log "=============================="
|
76
|
+
|
77
77
|
runtime = Benchmark.realtime do
|
78
78
|
Restforce::DB::RecordType.each do |name, record_type|
|
79
79
|
synchronize name, record_type
|
@@ -131,12 +131,10 @@ module Restforce
|
|
131
131
|
#
|
132
132
|
# Returns nothing.
|
133
133
|
def log(text, level = :info)
|
134
|
-
text = "[Restforce::DB] #{text}"
|
135
134
|
puts text if @verbose
|
136
135
|
|
137
136
|
return unless self.class.logger
|
138
|
-
|
139
|
-
self.class.logger.send(level, "#{Time.now.strftime('%FT%T%z')}: #{text}")
|
137
|
+
self.class.logger.send(level, text)
|
140
138
|
end
|
141
139
|
|
142
140
|
# Internal: Log an error for the worker, outputting the entire error
|