aranha-rails 0.3.0 → 0.7.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/lib/aranha/rails/engine.rb +5 -6
- data/lib/aranha/rails/manager.rb +5 -3
- data/lib/aranha/rails/patches/delayed_job.rb +7 -0
- data/lib/aranha/rails/process.rb +34 -0
- data/lib/aranha/rails/version.rb +1 -1
- data/lib/tasks/aranha.rake +8 -1
- metadata +29 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36ba45ae4efcdde7c87ec2826a8ae37457c791a7384b4fd3cbdd349f32fe9767
|
4
|
+
data.tar.gz: fbda8a52654c3640017c0bf7e62cc5c7ef2dbf66d2c5f59d9083685629c78314
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5aa3e496c87dae2659430b1fe08388a4b32087a5ff3cf5835c7327e43e2fd0e2b5c945a8e4911c29cdd99bd8aada31d0e1289bb11e9f962c170ec6c230e2b7a4
|
7
|
+
data.tar.gz: cc60ef5294d2af9e2b0066d1cae61ec1c8aecd0d5eccfc005b61509282c7f39911fb9aef399c86b46c833c5a1ad7001f3fc75fa784bac60be17fb5e25864558f
|
data/lib/aranha/rails/engine.rb
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'active_scaffold'
|
4
|
+
require 'eac_rails_delayed_job/engine'
|
4
5
|
|
5
6
|
module Aranha
|
6
7
|
module Rails
|
7
8
|
class Engine < ::Rails::Engine
|
8
|
-
|
9
|
+
include ::EacRailsUtils::EngineHelper
|
9
10
|
|
10
|
-
|
11
|
-
config.paths['db/migrate'].expanded.each do |expanded_path|
|
12
|
-
app.config.paths['db/migrate'] << expanded_path
|
13
|
-
end
|
14
|
-
end
|
11
|
+
isolate_namespace ::Aranha
|
15
12
|
end
|
16
13
|
end
|
17
14
|
end
|
15
|
+
|
16
|
+
require 'aranha/rails/patches/delayed_job'
|
data/lib/aranha/rails/manager.rb
CHANGED
@@ -9,10 +9,12 @@ module Aranha
|
|
9
9
|
include ::Singleton
|
10
10
|
|
11
11
|
def add_address(url, processor, extra_data = nil)
|
12
|
+
::Rails.logger.info("Adding \"#{url}\"")
|
12
13
|
a = ::Aranha::Address.find_or_initialize_by(url: ::Aranha::Address.sanitize_url(url))
|
13
14
|
a.processor = processor
|
14
15
|
a.extra_data = extra_data.to_yaml
|
15
16
|
a.save!
|
17
|
+
a.check_scheduling
|
16
18
|
end
|
17
19
|
|
18
20
|
def addresses_count
|
@@ -20,9 +22,9 @@ module Aranha
|
|
20
22
|
end
|
21
23
|
|
22
24
|
def clear_expired_addresses
|
23
|
-
q = ::Aranha::Address.
|
25
|
+
q = ::Aranha::Address.expired(::Time.zone.now)
|
24
26
|
::Rails.logger.info("Addresses expired: #{q.count}")
|
25
|
-
q.
|
27
|
+
q.each(&:destroy)
|
26
28
|
end
|
27
29
|
|
28
30
|
def log_info(message)
|
@@ -41,7 +43,7 @@ module Aranha
|
|
41
43
|
end
|
42
44
|
|
43
45
|
def unprocessed_addresses
|
44
|
-
::Aranha::Address.
|
46
|
+
::Aranha::Address.all.select(&:schedule?)
|
45
47
|
end
|
46
48
|
end
|
47
49
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aranha
|
4
|
+
module Rails
|
5
|
+
class Process
|
6
|
+
QUEUE = 'aranha'
|
7
|
+
QUEUES = [QUEUE].freeze
|
8
|
+
|
9
|
+
def run
|
10
|
+
run_init
|
11
|
+
run_jobs_workoff
|
12
|
+
run_close
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def run_close
|
18
|
+
::Aranha::Address.failed do |a|
|
19
|
+
::Rails.logger.info "Failed \"#{a.url}\": #{a.last_error}"
|
20
|
+
end
|
21
|
+
raise 'Some address failed' if ::Aranha::Address.failed.any?
|
22
|
+
end
|
23
|
+
|
24
|
+
def run_init
|
25
|
+
::Aranha::Manager.default.init
|
26
|
+
::Aranha::Address.all.each(&:init_scheduling)
|
27
|
+
end
|
28
|
+
|
29
|
+
def run_jobs_workoff
|
30
|
+
::Delayed::Worker.new(exit_on_complete: true, queues: QUEUES).start
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/aranha/rails/version.rb
CHANGED
data/lib/tasks/aranha.rake
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
namespace(:aranha) do
|
4
4
|
desc 'Process Aranha\'s addresses.'
|
5
5
|
task process: :environment do
|
6
|
-
::Aranha::
|
6
|
+
::Aranha::Rails::Process.new.run
|
7
7
|
end
|
8
8
|
|
9
9
|
desc 'Remove all registered Aranha\'s addresses.'
|
@@ -11,6 +11,13 @@ namespace(:aranha) do
|
|
11
11
|
Rails.logger.info("Addresses deleted: #{::Aranha::Address.destroy_all.count}")
|
12
12
|
end
|
13
13
|
|
14
|
+
namespace :address do
|
15
|
+
desc 'Process a arbitrary address.'
|
16
|
+
task :process, %i[uri processor] => :environment do |_t, args|
|
17
|
+
args.processor.constantize.new(args.uri, {}).process
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
14
21
|
namespace :fixtures do
|
15
22
|
desc 'Download remote content for fixtures.'
|
16
23
|
task download: :environment do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aranha-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_scaffold
|
@@ -58,6 +58,20 @@ dependencies:
|
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0.6'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: eac_rails_delayed_job
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0.1'
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0.1'
|
61
75
|
- !ruby/object:Gem::Dependency
|
62
76
|
name: eac_rails_utils
|
63
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,14 +98,14 @@ dependencies:
|
|
84
98
|
requirements:
|
85
99
|
- - "~>"
|
86
100
|
- !ruby/object:Gem::Version
|
87
|
-
version: '0.
|
101
|
+
version: '0.72'
|
88
102
|
type: :runtime
|
89
103
|
prerelease: false
|
90
104
|
version_requirements: !ruby/object:Gem::Requirement
|
91
105
|
requirements:
|
92
106
|
- - "~>"
|
93
107
|
- !ruby/object:Gem::Version
|
94
|
-
version: '0.
|
108
|
+
version: '0.72'
|
95
109
|
- !ruby/object:Gem::Dependency
|
96
110
|
name: rails
|
97
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +126,20 @@ dependencies:
|
|
112
126
|
requirements:
|
113
127
|
- - "~>"
|
114
128
|
- !ruby/object:Gem::Version
|
115
|
-
version: '0.
|
129
|
+
version: '0.3'
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 0.3.1
|
116
133
|
type: :development
|
117
134
|
prerelease: false
|
118
135
|
version_requirements: !ruby/object:Gem::Requirement
|
119
136
|
requirements:
|
120
137
|
- - "~>"
|
121
138
|
- !ruby/object:Gem::Version
|
122
|
-
version: '0.
|
139
|
+
version: '0.3'
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 0.3.1
|
123
143
|
description:
|
124
144
|
email:
|
125
145
|
executables: []
|
@@ -130,6 +150,8 @@ files:
|
|
130
150
|
- lib/aranha/rails/engine.rb
|
131
151
|
- lib/aranha/rails/fixtures_download.rb
|
132
152
|
- lib/aranha/rails/manager.rb
|
153
|
+
- lib/aranha/rails/patches/delayed_job.rb
|
154
|
+
- lib/aranha/rails/process.rb
|
133
155
|
- lib/aranha/rails/version.rb
|
134
156
|
- lib/tasks/aranha.rake
|
135
157
|
homepage:
|
@@ -150,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
172
|
- !ruby/object:Gem::Version
|
151
173
|
version: '0'
|
152
174
|
requirements: []
|
153
|
-
rubygems_version: 3.
|
175
|
+
rubygems_version: 3.1.6
|
154
176
|
signing_key:
|
155
177
|
specification_version: 4
|
156
178
|
summary: Put here de description.
|