Changeset 279
- Timestamp:
- 05/10/07 16:23:04 (2 years ago)
- Files:
-
- trunk/api/ruby/lib/gearman/worker.rb (modified) (2 diffs)
- trunk/api/ruby/test/mock_client.rb (modified) (3 diffs)
- trunk/api/ruby/test/mock_worker.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/api/ruby/lib/gearman/worker.rb
r278 r279 323 323 end 324 324 325 Util.log "Sending pre_sleep and going to sleep for #{ 2 *@reconnect_sec} sec"325 Util.log "Sending pre_sleep and going to sleep for #{@reconnect_sec} sec" 326 326 @servers_mutex.synchronize do 327 327 @sockets.values.each do |sock| … … 333 333 # sending the first grab_job to one of the servers that had a socket 334 334 # with data in it. Not bothering with it for now. 335 IO::select(@sockets.values, nil, nil, 2 *@reconnect_sec)335 IO::select(@sockets.values, nil, nil, @reconnect_sec) 336 336 end 337 337 end trunk/api/ruby/test/mock_client.rb
r273 r279 22 22 c.exec { client = Gearman::Client.new("localhost:#{server.port}") } 23 23 24 c.exec { task1 = Gearman::Task.new('add', '5 +2') }24 c.exec { task1 = Gearman::Task.new('add', '5 2') } 25 25 c.exec { task1.on_complete {|d| res1 = d.to_i } } 26 26 c.exec { taskset = Gearman::TaskSet.new(client) } … … 29 29 s.wait 30 30 31 s.exec { server.expect_request(sock, :submit_job, "add\000\0005 +2") }31 s.exec { server.expect_request(sock, :submit_job, "add\000\0005 2") } 32 32 s.exec { server.send_response(sock, :job_created, "a") } 33 33 34 34 # Create a second task. It should use the same socket as the first. 35 c.exec { task2 = Gearman::Task.new('add', '10 +5') }35 c.exec { task2 = Gearman::Task.new('add', '10 5') } 36 36 c.exec { task2.on_complete {|d| res2 = d.to_i } } 37 37 c.exec { taskset.add_task(task2) } … … 40 40 # second. 41 41 s.exec { server.send_response(sock, :work_complete, "a\0007") } 42 s.exec { server.expect_request(sock, :submit_job, "add\000\00010 +5") }42 s.exec { server.expect_request(sock, :submit_job, "add\000\00010 5") } 43 43 s.exec { server.send_response(sock, :job_created, "b") } 44 44 trunk/api/ruby/test/mock_worker.rb
r278 r279 176 176 worker = Gearman::Worker.new("localhost:#{server.port}", nil, 177 177 { :client_id => 'test', 178 :reconnect_sec => 0.1 ,178 :reconnect_sec => 0.15, 179 179 :network_timeout_sec => 0.1 }) 180 180 } … … 186 186 s.exec { server.expect_request(sock, :can_do, 'foo') } 187 187 188 w.exec { worker.work } 189 s.exec { server.expect_request(sock, :grab_job) } 190 s.exec { sleep 0.11 } 191 s.wait 192 188 # Don't do anything after the client asks for a job. 189 w.exec { worker.work } 190 s.exec { server.expect_request(sock, :grab_job) } 191 s.exec { sleep 0.16 } 192 s.wait 193 194 # The client should reconnect and ask for a job again. 193 195 s.exec { sock = server.expect_connection } 194 196 s.wait 197 195 198 s.exec { server.expect_request(sock, :set_client_id, 'test') } 196 199 s.exec { server.expect_request(sock, :can_do, 'foo') } 197 200 s.exec { server.expect_request(sock, :grab_job) } 198 s.wait 201 s.exec { server.send_response(sock, :job_assign, "a\0foo\0") } 202 s.exec { server.expect_request(sock, :work_complete, "a\0bar") } 203 s.wait 204 w.wait 199 205 end 200 206 end
