crabfarm 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/crabfarm/configuration.rb +1 -1
- data/lib/crabfarm/engines/safe_state_loop.rb +8 -0
- data/lib/crabfarm/modes/server.rb +2 -0
- data/lib/crabfarm/phantom_runner.rb +6 -2
- data/lib/crabfarm/templates/Crabfile.erb +2 -0
- data/lib/crabfarm/version.rb +1 -1
- data/lib/crabfarm.rb +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45541f82668f0910accb44339916af9e37595470
|
4
|
+
data.tar.gz: 99de58252a283fd334a5c1aafc491eec16610c21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 826f03dc142d062f35c2e7a3ff0cf7c56c16127704c95f81d39a14a0b702ea57c4da07250471ad0b9f55b3825ef51312317b7fc8c0aced47e1fb3f395e87c5d4
|
7
|
+
data.tar.gz: 63863c7f0ede26385cdc1993a97433cfb16911edd593d30488ff5569366aaa38654084f22391c4ce6dad47105b8b691947c37af4ab7ecd9146ee24c1fbc63066
|
@@ -95,9 +95,13 @@ module Crabfarm
|
|
95
95
|
@elapsed = Benchmark.measure do
|
96
96
|
begin
|
97
97
|
ActiveSupport::Dependencies.clear
|
98
|
+
logger.info "StateLoop: loading state: #{@next_state_name}"
|
98
99
|
@doc = @context.run_state(@next_state_name, @next_state_params).output_as_json
|
100
|
+
logger.info "StateLoop: state loaded successfully: #{@next_state_name}"
|
99
101
|
@error = nil
|
100
102
|
rescue Exception => e
|
103
|
+
logger.error "StateLoop: error while loading state: #{@next_state_name}"
|
104
|
+
logger.error e
|
101
105
|
@doc = nil
|
102
106
|
@error = e
|
103
107
|
end
|
@@ -111,6 +115,10 @@ module Crabfarm
|
|
111
115
|
else sleep 0.2 end
|
112
116
|
end
|
113
117
|
end
|
118
|
+
|
119
|
+
def logger
|
120
|
+
Crabfarm.logger
|
121
|
+
end
|
114
122
|
end
|
115
123
|
end
|
116
124
|
end
|
@@ -12,14 +12,18 @@ module Crabfarm
|
|
12
12
|
|
13
13
|
def start
|
14
14
|
find_available_port
|
15
|
+
Crabfarm.logger.info "Starting phantomjs in port #{@port}"
|
15
16
|
@pid = Process.spawn({}, phantomjs_cmd)
|
16
17
|
wait_for_server
|
18
|
+
Crabfarm.logger.info "Phantomjs started (PID: #{@pid})"
|
17
19
|
end
|
18
20
|
|
19
21
|
def stop
|
20
22
|
unless @pid.nil?
|
21
|
-
|
22
|
-
Process.
|
23
|
+
Crabfarm.logger.info "Stopping phantomjs (PID: #{@pid})"
|
24
|
+
Process.kill "INT", @pid
|
25
|
+
Process.wait @pid, Process::WNOHANG
|
26
|
+
Crabfarm.logger.info "Phantomjs stopped (PID: #{@pid})"
|
23
27
|
@pid = nil
|
24
28
|
end
|
25
29
|
end
|
data/lib/crabfarm/version.rb
CHANGED
data/lib/crabfarm.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'logger'
|
1
2
|
require "forwardable"
|
2
3
|
require "active_support/inflector"
|
3
4
|
require "selenium-webdriver"
|
@@ -20,11 +21,20 @@ require "crabfarm/strategies"
|
|
20
21
|
module Crabfarm
|
21
22
|
|
22
23
|
@@config = Configuration.new
|
24
|
+
@@logger = nil
|
23
25
|
|
24
26
|
def self.config
|
25
27
|
@@config
|
26
28
|
end
|
27
29
|
|
30
|
+
def self.logger
|
31
|
+
if @@logger.nil?
|
32
|
+
@@logger = Logger.new(@@config.log_path.nil? ? STDOUT : File.join(@@config.log_path, 'crawler.log'))
|
33
|
+
@@logger.level = Logger::INFO
|
34
|
+
end
|
35
|
+
@@logger
|
36
|
+
end
|
37
|
+
|
28
38
|
def self.read_crabfile(_path)
|
29
39
|
@@config.instance_eval File.read _path
|
30
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crabfarm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ignacio Baixas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jbuilder
|