restforce-db 0.1.4 → 0.1.5
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/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
|