xapian_db 1.3.12 → 1.3.13
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/CHANGELOG.md +6 -0
- data/README.rdoc +2 -0
- data/lib/xapian_db/config.rb +13 -2
- data/lib/xapian_db/index_writers/sidekiq_worker.rb +4 -0
- data/lib/xapian_db/index_writers/sidekiq_writer.rb +18 -12
- data/lib/xapian_db/railtie.rb +2 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a29f75d11adde6b1e29a279ca708947892348e8cec46d5713a830c71c02b5885
|
4
|
+
data.tar.gz: 4d466f487f8c9df855d6a3ba49a28201e7aad91ff9efec6c8aa7a827dd25e616
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3ef99e32b11ea43b1d5147036ad9e52a9fa513a4298d3800f24534837d4cf8c3e7a950fb6cd90f7abd81e3837901926fbf9ec0d2a66afdcf5b1ba11cd29a143
|
7
|
+
data.tar.gz: 30afda34bf9dfbcbf8d8f3838c8dd6971cacc19f8846ee5ec22a4fcdb70bb275e374e7e6f3c847e138cb30cc269b1b53289ba4737bc514b679305133415d230c
|
data/CHANGELOG.md
CHANGED
data/README.rdoc
CHANGED
@@ -537,8 +537,10 @@ Install and start redis as described on the {resque github page}[https://github.
|
|
537
537
|
writer: sidekiq
|
538
538
|
sidekiq_queue: my_queue
|
539
539
|
set_max_expansion: 100
|
540
|
+
sidekiq_retry: false
|
540
541
|
|
541
542
|
If you don't specify a queue name XapianDb will use 'xapian_db' by default.
|
543
|
+
Additionally, if you don't provide a 'sidekiq_retry' option, it will default to 'false'.
|
542
544
|
|
543
545
|
=== 4. Start sidekiq
|
544
546
|
|
data/lib/xapian_db/config.rb
CHANGED
@@ -61,6 +61,10 @@ module XapianDb
|
|
61
61
|
@config.instance_variable_get("@_set_max_expansion")
|
62
62
|
end
|
63
63
|
|
64
|
+
def sidekiq_retry
|
65
|
+
@config.instance_variable_get("@_sidekiq_retry") || false
|
66
|
+
end
|
67
|
+
|
64
68
|
def term_splitter_count
|
65
69
|
@config.instance_variable_get("@_term_splitter_count") || 0
|
66
70
|
end
|
@@ -78,8 +82,9 @@ module XapianDb
|
|
78
82
|
# DSL methods
|
79
83
|
# ---------------------------------------------------------------------------------
|
80
84
|
|
81
|
-
attr_reader :_database, :_adapter, :_writer, :_beanstalk_daemon, :_resque_queue, :_sidekiq_queue,
|
82
|
-
:_stemmer, :_stopper, :_term_min_length, :_term_splitter_count, :_enabled_query_flags,
|
85
|
+
attr_reader :_database, :_adapter, :_writer, :_beanstalk_daemon, :_resque_queue, :_sidekiq_queue,
|
86
|
+
:_stemmer, :_stopper, :_term_min_length, :_term_splitter_count, :_enabled_query_flags,
|
87
|
+
:_set_max_expansion, :_sidekiq_retry
|
83
88
|
|
84
89
|
# Set the global database to use
|
85
90
|
# @param [String] path The path to the database. Either apply a file sytem path or :memory
|
@@ -159,6 +164,12 @@ module XapianDb
|
|
159
164
|
@_set_max_expansion = value
|
160
165
|
end
|
161
166
|
|
167
|
+
# Set the value for the Sidekiq retry setting.
|
168
|
+
# @param [Boolean, Numeric] value The value to set for the Sidekiq retry setting.
|
169
|
+
def sidekiq_retry(value)
|
170
|
+
@_sidekiq_retry = value
|
171
|
+
end
|
172
|
+
|
162
173
|
# Set the language.
|
163
174
|
# @param [Symbol] lang The language; apply the two letter ISO639 code for the language
|
164
175
|
# @example
|
@@ -15,39 +15,45 @@ module XapianDb
|
|
15
15
|
end
|
16
16
|
|
17
17
|
class << self
|
18
|
-
|
19
|
-
# Update an object in the index
|
20
|
-
# @param [Object] obj An instance of a class with a blueprint configuration
|
21
|
-
|
22
18
|
def queue
|
23
19
|
XapianDb::Config.sidekiq_queue
|
24
20
|
end
|
25
21
|
|
22
|
+
# Update an object in the index
|
23
|
+
# @param [Object] obj An instance of a class with a blueprint configuration
|
26
24
|
def index(obj, _commit= true, changed_attrs: [])
|
27
|
-
Sidekiq::Client.
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
changed_attrs: changed_attrs
|
32
|
-
}.to_json)
|
25
|
+
Sidekiq::Client.push('queue' => queue,
|
26
|
+
'class' => worker_class,
|
27
|
+
'args' => ['index', { class: obj.class.name, id: obj.id, changed_attrs: changed_attrs }.to_json],
|
28
|
+
'retry' => sidekiq_retry)
|
33
29
|
end
|
34
30
|
|
35
31
|
# Remove an object from the index
|
36
32
|
# @param [String] xapian_id The document id
|
37
33
|
def delete_doc_with(xapian_id, _commit= true)
|
38
|
-
Sidekiq::Client.
|
34
|
+
Sidekiq::Client.push('queue' => queue,
|
35
|
+
'class' => worker_class,
|
36
|
+
'args' => ['delete_doc', { xapian_id: xapian_id }.to_json],
|
37
|
+
'retry' => sidekiq_retry)
|
39
38
|
end
|
40
39
|
|
41
40
|
# Reindex all objects of a given class
|
42
41
|
# @param [Class] klass The class to reindex
|
43
42
|
def reindex_class(klass, _options = {})
|
44
|
-
Sidekiq::Client.
|
43
|
+
Sidekiq::Client.push('queue' => queue,
|
44
|
+
'class' => worker_class,
|
45
|
+
'args' => ['reindex_class', { class: klass.name }.to_json],
|
46
|
+
'retry' => sidekiq_retry)
|
45
47
|
end
|
46
48
|
|
47
49
|
def set_max_expansion
|
48
50
|
XapianDb::Config.set_max_expansion
|
49
51
|
end
|
50
52
|
|
53
|
+
def sidekiq_retry
|
54
|
+
XapianDb::Config.sidekiq_retry
|
55
|
+
end
|
56
|
+
|
51
57
|
def worker_class
|
52
58
|
SidekiqWorker
|
53
59
|
end
|
data/lib/xapian_db/railtie.rb
CHANGED
@@ -59,6 +59,7 @@ module XapianDb
|
|
59
59
|
config.term_min_length @term_min_length
|
60
60
|
config.term_splitter_count @term_splitter_count
|
61
61
|
config.set_max_expansion @set_max_expansion
|
62
|
+
config.sidekiq_retry @sidekiq_retry
|
62
63
|
@enabled_query_flags.each { |flag| config.enable_query_flag flag }
|
63
64
|
@disabled_query_flags.each { |flag| config.disable_query_flag flag }
|
64
65
|
end
|
@@ -87,6 +88,7 @@ module XapianDb
|
|
87
88
|
@enable_phrase_search = env_config["enable_phrase_search"] == true
|
88
89
|
@term_splitter_count = env_config["term_splitter_count"] || 0
|
89
90
|
@set_max_expansion = env_config["set_max_expansion"]
|
91
|
+
@sidekiq_retry = env_config["sidekiq_retry"]
|
90
92
|
|
91
93
|
if env_config["enabled_query_flags"]
|
92
94
|
@enabled_query_flags = []
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xapian_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gernot Kogler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-08-
|
11
|
+
date: 2024-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|
@@ -260,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
260
260
|
- !ruby/object:Gem::Version
|
261
261
|
version: 1.3.6
|
262
262
|
requirements: []
|
263
|
-
rubygems_version: 3.
|
263
|
+
rubygems_version: 3.3.14
|
264
264
|
signing_key:
|
265
265
|
specification_version: 4
|
266
266
|
summary: Ruby library to use a Xapian db as a key/value store with high performance
|