magic_recipes_two 0.0.44 → 0.0.45

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODEzMzEyNGE5YjE0YzIwMTRiODE4ZTRjZmZhZDQ5ZDJlYWMzNGJlZg==
4
+ ZDg5ZTY0YzMzMGY2MTBiZTE3OTc0NzZhYzI1OTcxNTdkMjNhYzdjNw==
5
5
  data.tar.gz: !binary |-
6
- NmMwMjIxZGQ0NmNiY2U4YTlkOWE1Nzc0NTc2Y2RiODUyYmM5MTYzZQ==
6
+ MGFkYjFmOWQ1MzhmNTU3YTliMTgzODI4NjU1MmIyMTU5NDM3NDQ4Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTNhNGQwNTdmMDIwMWRkMGMxYjM4ZWEwZGYwY2JkOGY1MjM0YWJkY2IxZDQ3
10
- OTQ3ZDAzOTc1NmEwZTcwZmVhYjg3ZTRlYzJlODRkNDNhMzk0N2RkM2NkMTQw
11
- NmU4OTVmMmQyMmJmNmNhYTM0ODRkNDI4NzI4MmQzM2JjMTJhODE=
9
+ MzAxMDkzODdmMTllNGMwMGY0M2Q0ZDM1YjdmMTFjMzYzYTFiYzNkMDE2MWIz
10
+ OTM0ZTE0M2U3OTM4MDY3ZTU3ODMwMjRjYWQzMjNjMzM4NDBhYTBiOTdhMzBk
11
+ MTdhYTFmM2U5NDI5NjhhODEwZDNmMTk0OTBiYTkxZDk4N2VlNzM=
12
12
  data.tar.gz: !binary |-
13
- ODMzNGM4ODUwYjhlODVhY2RjYWQ3YTMzYWUxOGVhMTFhZjFkNzczYmUzODMx
14
- N2JlYTI0ZDAwZDFlZDUxZWQ1ZGM5MjE4YzVlODU1ZGZjYWYzZWE0ZDlhOGM2
15
- OThjZTUxYzA3MzQyNjI5OTliNGQ4NzI2NGJlNzYwZGUzM2E4NDI=
13
+ YzcyOWZmZDIzZWZmZTZjYzM0ZDc3MDdmMzNkNzE3MzQwY2ZlYjM5NGE4NzNm
14
+ MWVmZDg1OThjY2NiYmI2M2JjYzMyM2ZhZGVlNTc0NGVmODgzMGU2MzliZjY4
15
+ NGQwMzlmYjYwNjg1ZGQ0MTljNjJkMDE0Mjc0MTAyNDIwYjQ0NDY=
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module MagicRecipes
3
- VERSION = "0.0.44"
3
+ VERSION = "0.0.45"
4
4
  end
5
5
  end
@@ -3,12 +3,23 @@ namespace :load do
3
3
  task :defaults do
4
4
  set :sidekiq_default_hooks, -> { true }
5
5
 
6
- set :sidekiq_pid, -> { File.join(shared_path, 'pids', 'sidekiq.pid') }
7
- set :sidekiq_env, -> { fetch(:rack_env, fetch(:rails_env, fetch(:stage))) }
8
- set :sidekiq_log, -> { File.join(shared_path, 'log', 'sidekiq.log') }
9
- set :sidekiq_timeout, -> { 10 }
10
- set :sidekiq_roles, -> { :app }
11
- set :sidekiq_processes, -> { 1 }
6
+ set :sidekiq_pid, -> { File.join(shared_path, 'pids', 'sidekiq.pid') }
7
+ set :sidekiq_env, -> { fetch(:rack_env, fetch(:rails_env, fetch(:stage))) }
8
+ set :sidekiq_log, -> { File.join(shared_path, 'log', 'sidekiq.log') }
9
+ set :sidekiq_timeout, -> { 10 }
10
+ set :sidekiq_roles, -> { :app }
11
+ set :sidekiq_processes, -> { 1 }
12
+ # Sidekiq queued processes:
13
+
14
+ set :sidekiq_special_queues, -> { false }
15
+ set :sidekiq_queued_processes, -> { [] }
16
+ ## If needed you can set special queues and configure it seperately
17
+ ## .. options:
18
+ ## - queue: string # => queue-name (default: "default")
19
+ ## - processes: integer # => number processes (default: 1)
20
+ ## - worker: integer # => concurrency (default: 7)
21
+ ## => [ { queue: "queue_name", processes: "count", worker: "count" }]
22
+
12
23
  # Rbenv and RVM integration
13
24
  set :rbenv_map_bins, fetch(:rbenv_map_bins).to_a.concat(%w(sidekiq sidekiqctl))
14
25
  set :rvm_map_bins, fetch(:rvm_map_bins).to_a.concat(%w(sidekiq sidekiqctl))
@@ -36,14 +47,39 @@ namespace :sidekiq do
36
47
  end
37
48
  end
38
49
  end
50
+
51
+ def sidekiq_special_config(idx)
52
+ if fetch(:sidekiq_special_queues)
53
+ settingz = []
54
+ fetch(:sidekiq_queued_processes).each do |that|
55
+ (that[:processes].present? ? that[:processes] : 1 ).to_i.times do
56
+ settingz.push { queue: that[:queue].present? ? that[:queue] : "default",
57
+ concurrency: that[:worker].present? ? that[:worker].to_i : 7 }
58
+ end
59
+ end
60
+ settingz[ idx.to_i ]
61
+ else
62
+ {}
63
+ end
64
+ end
39
65
 
40
66
  def processes_pids
41
67
  pids = []
42
- fetch(:sidekiq_processes).times do |idx|
43
- pids.push (idx.zero? && fetch(:sidekiq_processes) <= 1) ?
44
- fetch(:sidekiq_pid) :
45
- fetch(:sidekiq_pid).gsub(/\.pid$/, "-#{idx}.pid")
68
+ if fetch(:sidekiq_special_queues)
69
+ processes_count = fetch(:sidekiq_queued_processes).sum{ |qp| qp[:processes].present? ? qp[:processes].to_i : 1 }
70
+ processes_count.times do |idx|
71
+ pids.push (idx.zero? && processes_count <= 1) ?
72
+ fetch(:sidekiq_pid) :
73
+ fetch(:sidekiq_pid).gsub(/\.pid$/, "-#{idx}.pid")
46
74
 
75
+ end
76
+ else
77
+ fetch(:sidekiq_processes).times do |idx|
78
+ pids.push (idx.zero? && fetch(:sidekiq_processes) <= 1) ?
79
+ fetch(:sidekiq_pid) :
80
+ fetch(:sidekiq_pid).gsub(/\.pid$/, "-#{idx}.pid")
81
+
82
+ end
47
83
  end
48
84
  pids
49
85
  end
@@ -89,11 +125,17 @@ namespace :sidekiq do
89
125
  args.push "--logfile #{fetch(:sidekiq_log)}" if fetch(:sidekiq_log)
90
126
  args.push "--require #{fetch(:sidekiq_require)}" if fetch(:sidekiq_require)
91
127
  args.push "--tag #{fetch(:sidekiq_tag)}" if fetch(:sidekiq_tag)
92
- Array(fetch(:sidekiq_queue)).each do |queue|
93
- args.push "--queue #{queue}"
128
+ if fetch(:sidekiq_special_queues)
129
+ queue_config = sidekiq_special_config(idx)
130
+ args.push "--queue #{ queue_config[:queue] || 'default' }"
131
+ args.push "--concurrency #{ queue_config[:concurrency] || 7 }"
132
+ else
133
+ Array(fetch(:sidekiq_queue)).each do |queue|
134
+ args.push "--queue #{queue}"
135
+ end
136
+ args.push "--concurrency #{fetch(:sidekiq_concurrency)}" if fetch(:sidekiq_concurrency)
94
137
  end
95
138
  args.push "--config #{fetch(:sidekiq_config)}" if fetch(:sidekiq_config)
96
- args.push "--concurrency #{fetch(:sidekiq_concurrency)}" if fetch(:sidekiq_concurrency)
97
139
  # use sidekiq_options for special options
98
140
  args.push fetch(:sidekiq_options) if fetch(:sidekiq_options)
99
141
 
@@ -8,11 +8,19 @@
8
8
  args.push "--logfile #{fetch(:sidekiq_log)}" if fetch(:sidekiq_log)
9
9
  args.push "--require #{fetch(:sidekiq_require)}" if fetch(:sidekiq_require)
10
10
  args.push "--tag #{fetch(:sidekiq_tag)}" if fetch(:sidekiq_tag)
11
- Array(fetch(:sidekiq_queue)).each do |queue|
12
- args.push "--queue #{queue}"
13
- end
14
- args.push "--config #{fetch(:sidekiq_config)}" if fetch(:sidekiq_config)
15
- args.push "--concurrency #{fetch(:sidekiq_concurrency)}" if fetch(:sidekiq_concurrency)
11
+
12
+ if fetch(:sidekiq_special_queues)
13
+ queue_config = sidekiq_special_config(idx)
14
+ args.push "--queue #{ queue_config[:queue] || 'default' }"
15
+ args.push "--concurrency #{ queue_config[:concurrency] || 7 }"
16
+ else
17
+ Array(fetch(:sidekiq_queue)).each do |queue|
18
+ args.push "--queue #{queue}"
19
+ end
20
+ args.push "--concurrency #{fetch(:sidekiq_concurrency)}" if fetch(:sidekiq_concurrency)
21
+ end
22
+ args.push "--config #{fetch(:sidekiq_config)}" if fetch(:sidekiq_config)
23
+
16
24
  # use sidekiq_options for special options
17
25
  args.push fetch(:sidekiq_options) if fetch(:sidekiq_options)
18
26
  args.push '--daemon'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magic_recipes_two
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.44
4
+ version: 0.0.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Torsten Wetzel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-04 00:00:00.000000000 Z
11
+ date: 2016-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails