sidekiq-cron 1.5.1 → 1.12.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.
@@ -1,49 +0,0 @@
1
- require './test/test_helper'
2
- require 'benchmark'
3
-
4
- describe 'Performance Poller' do
5
- X = 10000
6
- before do
7
- REDIS.with { |c| c.respond_to?(:redis) ? c.redis.flushdb : c.flushdb }
8
- Sidekiq.redis = REDIS
9
-
10
- #clear all previous saved data from redis
11
- Sidekiq.redis do |conn|
12
- conn.keys("cron_job*").each do |key|
13
- conn.del(key)
14
- end
15
- end
16
-
17
- args = {
18
- queue: "default",
19
- cron: "*/2 * * * *",
20
- klass: "CronTestClass"
21
- }
22
-
23
- X.times do |i|
24
- Sidekiq::Cron::Job.create(args.merge(name: "Test#{i}"))
25
- end
26
-
27
- @poller = Sidekiq::Cron::Poller.new
28
- now = Time.now.utc + 3600
29
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 10, 5)
30
- Time.stubs(:now).returns(enqueued_time)
31
- end
32
-
33
- it 'should enqueue 10000 jobs in less than 50s' do
34
- Sidekiq.redis do |conn|
35
- assert_equal 0, conn.llen("queue:default"), 'Queue should be empty'
36
- end
37
-
38
- bench = Benchmark.measure {
39
- @poller.enqueue
40
- }
41
-
42
- Sidekiq.redis do |conn|
43
- assert_equal X, conn.llen("queue:default"), 'Queue should be full'
44
- end
45
-
46
- puts "Performance test finished in #{bench.real}"
47
- assert_operator bench.real, :<, 50
48
- end
49
- end
data/test/test_helper.rb DELETED
@@ -1,92 +0,0 @@
1
- $TESTING = true
2
- ENV['RACK_ENV'] = 'test'
3
-
4
- require 'simplecov'
5
- SimpleCov.start do
6
- add_filter "/test/"
7
- add_group 'SidekiqCron', 'lib/'
8
- end
9
-
10
- require "minitest/autorun"
11
- require "rack/test"
12
- require 'mocha/minitest'
13
- require 'sidekiq'
14
- require "sidekiq-pro" if ENV['SIDEKIQ_PRO_VERSION']
15
- require 'sidekiq/web'
16
-
17
- Sidekiq.logger.level = Logger::ERROR
18
-
19
- redis_url = ENV['REDIS_URL'] || 'redis://0.0.0.0:6379'
20
- REDIS = Sidekiq::RedisConnection.create(:url => redis_url, :namespace => 'testy')
21
-
22
- Sidekiq.configure_client do |config|
23
- config.redis = { :url => redis_url, :namespace => 'testy' }
24
- end
25
-
26
- require 'sidekiq-cron'
27
- require 'sidekiq/cron/web'
28
-
29
- # For testing os symbilize args!
30
- class Hash
31
- def symbolize_keys
32
- transform_keys { |key| key.to_sym rescue key }
33
- end
34
- end
35
-
36
- class CronTestClass
37
- include Sidekiq::Worker
38
- sidekiq_options retry: true
39
-
40
- def perform args = {}
41
- puts "super croned job #{args}"
42
- end
43
- end
44
-
45
- class CronTestClassWithQueue
46
- include Sidekiq::Worker
47
- sidekiq_options queue: :super, retry: false, backtrace: true
48
-
49
- def perform args = {}
50
- puts "super croned job #{args}"
51
- end
52
- end
53
-
54
- module ActiveJob
55
- class Base
56
- attr_accessor *%i[job_class provider_job_id queue_name arguments]
57
-
58
- def initialize
59
- yield self if block_given?
60
- self.provider_job_id ||= SecureRandom.hex(12)
61
- end
62
-
63
- def self.queue_name_prefix
64
- @queue_name_prefix
65
- end
66
-
67
- def self.queue_name_prefix=(queue_name_prefix)
68
- @queue_name_prefix = queue_name_prefix
69
- end
70
-
71
- def self.set(options)
72
- @queue = options['queue']
73
-
74
- self
75
- end
76
-
77
- def try(method, *args, &block)
78
- send method, *args, &block if respond_to? method
79
- end
80
-
81
- def self.perform_later(*args)
82
- new do |instance|
83
- instance.job_class = self.class.name
84
- instance.queue_name = @queue
85
- instance.arguments = [*args]
86
- end
87
- end
88
- end
89
- end
90
-
91
- class ActiveJobCronTestClass < ActiveJob::Base
92
- end