dj_split 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf5708e6d48391f29f9fd9bc0078565bebb81f5e9fba0c3af68a8226c056a37f
4
- data.tar.gz: 9d2b8d1693ebbb6f3db39e1211bd00df31cd4a52a64e360610a8abc0d6ba6ab9
3
+ metadata.gz: dc2e050c9e58032f167dc04f7d4685be6479e28bc5400fa53d7ff988fdafce7a
4
+ data.tar.gz: 91cccdc1b6ed01676da03b2652ee91ac4b09cc8f3d052ada1f798a147325e92f
5
5
  SHA512:
6
- metadata.gz: 9a5c7689ddf7cd61d3a35769d51f2c9525bc755a08f436468d6253030fc81996e1a774b816e7efb51a91eab6b192c09be20745c408d4cbda49e0e962819d786e
7
- data.tar.gz: 8f00fc971c82fde43505e06efc246c635d6d51ece03669e4c2fba0bc1577ea21cacd37b10525de0a7d880259092c14203dfab1c83647908d14424e44c2e4e6df
6
+ metadata.gz: dc3ef609a3fb6a3951800bb97fd711127d223735a3c2bef66b156b381d047ba7270f922c5bc776d0895725211c82feacca6a969c9f6192db5399fc040e79e148
7
+ data.tar.gz: a533c0b7839dd8c491971780f63328cc2966b4fbf2f3f9176ce5f54f55d83a054348514368e59c250e1488247a2b505fd46f539b10706ea2662d519ef55ca862
data/.gitignore CHANGED
@@ -6,4 +6,5 @@ tmp
6
6
  Gemfile.lock
7
7
  bin/
8
8
  tmp
9
- log
9
+ log
10
+ *.gem
data/README.md CHANGED
@@ -1,9 +1,13 @@
1
1
  # Delayed Job Split Feature
2
2
 
3
3
  Class [**"DjSplit::Split"**](https://github.com/nehalamin93/dj_split/blob/master/lib/dj_split/split.rb) is designed to **Split Time Taking Delayed Jobs, Crons, Bulk Operations, etc** into **smaller size multiple Delayed Jobs**.
4
- These **Jobs** should be **mutually exclusive** of each other and should be able to run **concurrently**.
4
+ These **Sub-Jobs** should be **mutually exclusive** of each other and should be able to run **concurrently**.
5
5
 
6
- These **Jobs** can be picked by **Delayed Job Workers** within or across **Multiple Servers**.
6
+ **Parallelism** can be achieved across **multiple servers** through **Delayed Jobs** which can directly impact performance.
7
+
8
+ These **Sub-Jobs** can be picked by **Delayed Job Workers** within or across **Multiple Servers**.
9
+
10
+ **Performance** can improve up to **n+1 times**, where **n = number of workers** picking the jobs.
7
11
 
8
12
  Class behaves like **Delayed Job Worker**, it also **picks and processes delayed job** entries.
9
13
 
@@ -11,14 +15,14 @@ Class behaves like **Delayed Job Worker**, it also **picks and processes delayed
11
15
 
12
16
  ## Purpose
13
17
 
14
- To distribute the load among **Multiple Workers**.
18
+ To distribute the load among **Multiple Workers** and to improve **Performance**.
15
19
 
16
20
  ## Installation
17
21
 
18
22
  Add this line to your application's Gemfile:
19
23
 
20
24
  ```ruby
21
- gem 'dj_split' or gem 'dj_split', :git => 'https://github.com/nehalamin93/dj_split.git'
25
+ gem 'dj_split'
22
26
  ```
23
27
 
24
28
  And then execute:
@@ -45,7 +49,7 @@ end
45
49
  ```
46
50
  $ A.function1(user_ids_array1, other_attr1)
47
51
 
48
- can be replace by:
52
+ to:
49
53
 
50
54
  $ DjSplit::Split.new(queue_options: {queue: queue_name}, split_options: {size: 1000, by: 2}).enqueue(A, "function1", user_ids_array1, other_attr1)
51
55
 
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Md Nehal Amin"]
10
10
  spec.email = ["nehalamin93@gmail.com"]
11
11
 
12
- spec.summary = %q{Splitting, Enqueuing and Executing time taking jobs(eg: Delayed Job) without Blocking.}
13
- spec.description = %q{Gem is designed to Split Time Taking Jobs(delayed jobs, crons, bulk operations, etc.) into smaller size independent Delayed Jobs. These Delayed Jobs can pick by multiple workers in single or multiple servers. After splitting and enqueuing, the gem will wait for the sub-jobs to be complete and also process sub-jobs instead of blocking.}
12
+ spec.summary = %q{Parallelise Time Taking Job across Multiple Processes in Single or Multiple Servers by Splitting into Delayed Jobs.}
13
+ spec.description = %q{Gem is designed to "Split or Break" Time Taking Jobs(Delayed Jobs, Crons, Bulk Operations, etc.) into smaller size Mutually Exclusive Delayed Jobs. These Sub-Jobs can be picked by multiple workers in Single or Multiple Servers. After splitting and enqueuing, the process will wait for the sub-jobs to complete and also processes sub-jobs instead of blocking. Parallelism can be achieved across multiple servers through Delayed Jobs which can directly impact performance. Performance can improve up to "n+1" times, where n = number of workers picking the jobs.}
14
14
  spec.homepage = ""
15
15
  spec.license = "MIT"
16
16
 
@@ -1,3 +1,3 @@
1
1
  module DjSplit
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dj_split
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Md Nehal Amin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-02 00:00:00.000000000 Z
11
+ date: 2018-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -136,11 +136,13 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
- description: Gem is designed to Split Time Taking Jobs(delayed jobs, crons, bulk operations,
140
- etc.) into smaller size independent Delayed Jobs. These Delayed Jobs can pick by
141
- multiple workers in single or multiple servers. After splitting and enqueuing, the
142
- gem will wait for the sub-jobs to be complete and also process sub-jobs instead
143
- of blocking.
139
+ description: Gem is designed to "Split or Break" Time Taking Jobs(Delayed Jobs, Crons,
140
+ Bulk Operations, etc.) into smaller size Mutually Exclusive Delayed Jobs. These
141
+ Sub-Jobs can be picked by multiple workers in Single or Multiple Servers. After
142
+ splitting and enqueuing, the process will wait for the sub-jobs to complete and
143
+ also processes sub-jobs instead of blocking. Parallelism can be achieved across
144
+ multiple servers through Delayed Jobs which can directly impact performance. Performance
145
+ can improve up to "n+1" times, where n = number of workers picking the jobs.
144
146
  email:
145
147
  - nehalamin93@gmail.com
146
148
  executables: []
@@ -185,6 +187,6 @@ rubyforge_project:
185
187
  rubygems_version: 2.7.7
186
188
  signing_key:
187
189
  specification_version: 4
188
- summary: 'Splitting, Enqueuing and Executing time taking jobs(eg: Delayed Job) without
189
- Blocking.'
190
+ summary: Parallelise Time Taking Job across Multiple Processes in Single or Multiple
191
+ Servers by Splitting into Delayed Jobs.
190
192
  test_files: []