resque-cleanerer 0.5.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.
@@ -0,0 +1,131 @@
1
+ # Mostly copied from Resque in order to have similar test environment.
2
+ # https://github.com/defunkt/resque/blob/master/test/test_helper.rb
3
+
4
+ dir = File.dirname(File.expand_path(__FILE__))
5
+ $LOAD_PATH.unshift dir + '/../lib'
6
+ $TESTING = true
7
+ require 'rubygems'
8
+ require 'minitest'
9
+ require 'minitest/spec'
10
+ require 'minitest/autorun'
11
+ require 'resque'
12
+ require 'timecop'
13
+
14
+ begin
15
+ require 'leftright'
16
+ rescue LoadError
17
+ end
18
+ require 'resque'
19
+ require 'resque_cleaner'
20
+
21
+ $TEST_PID = Process.pid
22
+
23
+ #
24
+ # make sure we can run redis
25
+ #
26
+
27
+ if !system("which redis-server")
28
+ puts '', "** can't find `redis-server` in your path"
29
+ puts "** try running `sudo rake install`"
30
+ abort ''
31
+ end
32
+
33
+
34
+ #
35
+ # start our own redis when the tests start,
36
+ # kill it when they end
37
+ #
38
+ MiniTest.after_run {
39
+ if Process.pid == $TEST_PID
40
+ processes = `ps -A -o pid,command | grep [r]edis-test`.split($/)
41
+ pids = processes.map { |process| process.split(" ")[0] }
42
+ puts "Killing test redis server..."
43
+ pids.each { |pid| Process.kill("TERM", pid.to_i) }
44
+ dump = "test/dump.rdb"
45
+ File.delete(dump) if File.exist?(dump)
46
+ end
47
+ }
48
+
49
+ puts "Starting redis for testing at localhost:9736..."
50
+ `redis-server #{dir}/redis-test.conf`
51
+ Resque.redis = 'localhost:9736'
52
+
53
+
54
+ ##
55
+ # Helper to perform job classes
56
+ #
57
+ module PerformJob
58
+ def perform_job(klass, *args)
59
+ resque_job = Resque::Job.new(:testqueue, 'class' => klass, 'args' => args)
60
+ resque_job.perform
61
+ end
62
+ end
63
+
64
+ #
65
+ # fixture classes
66
+ #
67
+
68
+ class SomeJob
69
+ def self.perform(repo_id, path)
70
+ end
71
+ end
72
+
73
+ class SomeIvarJob < SomeJob
74
+ @queue = :ivar
75
+ end
76
+
77
+ class SomeMethodJob < SomeJob
78
+ def self.queue
79
+ :method
80
+ end
81
+ end
82
+
83
+ class BadJob
84
+ def self.perform(name=nil)
85
+ msg = name ? "Bad job, #{name}" : "Bad job!"
86
+ raise msg
87
+ end
88
+ end
89
+
90
+ class GoodJob
91
+ def self.perform(name)
92
+ "Good job, #{name}"
93
+ end
94
+ end
95
+
96
+ class BadJobWithSyntaxError
97
+ def self.perform
98
+ raise SyntaxError, "Extra Bad job!"
99
+ end
100
+ end
101
+
102
+ #
103
+ # helper methods
104
+ #
105
+
106
+ def create_and_process_jobs(queue,worker,num,date,job,*args)
107
+ Timecop.freeze(date) do
108
+ num.times do
109
+ Resque::Job.create(queue, job, *args)
110
+ end
111
+ worker.work(0)
112
+ end
113
+ end
114
+
115
+ def queue_size(*queues)
116
+ queues.inject(0){|sum,queue| sum + Resque.size(queue).to_i}
117
+ end
118
+
119
+ def add_empty_payload_failure
120
+ data = {
121
+ :failed_at => Time.now.strftime("%Y/%m/%d %H:%M:%S %Z"),
122
+ :payload => nil,
123
+ :exception => "Resque::DirtyExit",
124
+ :error => "Resque::DirtyExit",
125
+ :backtrace => [],
126
+ :worker => "worker",
127
+ :queue => "queue"
128
+ }
129
+ data = Resque.encode(data)
130
+ Resque.redis.rpush(:failed, data)
131
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: resque-cleanerer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Tatsuya Ono
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-05-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: resque
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rack-test
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.0
55
+ description: " resque-cleaner maintains the cleanliness of failed jobs on Resque.\n"
56
+ email: ononoma@gmail.com
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files:
60
+ - LICENSE
61
+ - README.md
62
+ - CHANGELOG.md
63
+ files:
64
+ - CHANGELOG.md
65
+ - LICENSE
66
+ - README.md
67
+ - Rakefile
68
+ - lib/resque-cleaner.rb
69
+ - lib/resque_cleaner.rb
70
+ - lib/resque_cleaner/server.rb
71
+ - lib/resque_cleaner/server/views/_cleaner_styles.erb
72
+ - lib/resque_cleaner/server/views/_limiter.erb
73
+ - lib/resque_cleaner/server/views/_paginate.erb
74
+ - lib/resque_cleaner/server/views/_stats.erb
75
+ - lib/resque_cleaner/server/views/cleaner.erb
76
+ - lib/resque_cleaner/server/views/cleaner_exec.erb
77
+ - lib/resque_cleaner/server/views/cleaner_list.erb
78
+ - test/redis-test.conf
79
+ - test/resque_cleaner_test.rb
80
+ - test/resque_web_test.rb
81
+ - test/test_helper.rb
82
+ homepage: https://github.com/ono/resque-cleaner
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options:
88
+ - "--charset=UTF-8"
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.9.3
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubygems_version: 3.2.33
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: Resque plugin cleaning up failed jobs.
106
+ test_files: []