File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -353,7 +353,7 @@ WorkerSocket.prototype.requeue = function() {
353353 if ( ! msg ) {
354354 throw new Error ( "requeue called with no unacknowledged messages" ) ;
355355 }
356- this . ch . nack ( msg ) ;
356+ this . ch . reject ( msg ) ;
357357} ;
358358
359359
@@ -500,7 +500,7 @@ RepSocket.prototype.requeue = function() {
500500 if ( ! current )
501501 throw new Error ( 'Requeue with no pending request' ) ;
502502
503- ch . nack ( current ) ;
503+ ch . reject ( current ) ;
504504} ;
505505
506506
Original file line number Diff line number Diff line change @@ -408,3 +408,45 @@ suite.queueError = testWithContext(function(done, CTX) {
408408 } ) ;
409409 sock . connect ( 'amq.reserved-namespace' ) ;
410410} ) ;
411+
412+ suite . discardMessage = testWithContext ( function ( done , CTX ) {
413+ var worker = CTX . socket ( 'WORKER' ) ;
414+ var push = CTX . socket ( 'PUSH' ) ;
415+ worker . connect ( 'test.worker-reject' ) ;
416+ worker . on ( 'data' , function ( m ) {
417+ worker . discard ( ) ;
418+ done ( ) ;
419+ } ) ;
420+ push . connect ( 'test.worker-reject' , function ( _ok ) {
421+ push . write ( 'foobar' ) ;
422+ } ) ;
423+ } ) ;
424+
425+ suite . requeueMessage = testWithContext ( function ( done , CTX ) {
426+ var worker1 = CTX . socket ( 'WORKER' ) ;
427+ var worker2 = CTX . socket ( 'WORKER' ) ;
428+ var recvd = false ;
429+ var q = 'test.worker-requeue' ;
430+
431+ var push = CTX . socket ( 'PUSH' ) ;
432+ worker1 . connect ( q ) ;
433+ worker2 . connect ( q ) ;
434+
435+ function recv ( msg ) {
436+ if ( recvd ) {
437+ this . ack ( ) ;
438+ done ( ) ;
439+ }
440+ else {
441+ this . requeue ( ) ;
442+ recvd = true ;
443+ }
444+ }
445+
446+ worker1 . on ( 'data' , recv . bind ( worker1 ) ) ;
447+ worker2 . on ( 'data' , recv . bind ( worker2 ) ) ;
448+
449+ push . connect ( q , function ( _ok ) {
450+ push . write ( 'foobar' ) ;
451+ } ) ;
452+ } ) ;
You can’t perform that action at this time.
0 commit comments