c# - Don't create skipped queues when there is a dead-letter message -
can somehow choose not create _skipped queues in request/response scenario?
we have chosen build our app (don't ask why, has reasons). doing publishrequest multiple consumers , 1 consumer responds. others generate skipped queue (timeout error). don't want change structure. if disable creation of skipped queues in rabbitmq, perfect.
buscontrol request:
buscontrol = bus.factory.createusingrabbitmq(busfactoryconfig => { busfactoryconfig.host(new uri(serverurl), hostconfig => { hostconfig.username(username); hostconfig.password(password); }); busfactoryconfig.autodelete = true; busfactoryconfig.durable = true; }); request method:
var requestclient = buscontrol.createpublishrequestclient<trequest, tresponse>(timespan.frommilliseconds(5000)); tresponse response = taskutil.await(() => requestclient.request(request)); buscontrol respond:
buscontrol = bus.factory.createusingrabbitmq(busfactoryconfig => { irabbitmqhost rabbitmqhost = busfactoryconfig.host(new uri(serverurl), hostconfig => { hostconfig.username(username); hostconfig.password(password); }); busfactoryconfig.receiveendpoint(rabbitmqhost, receiveendpointconfig => { if (retrylimit > 0) receiveendpointconfig.useretry(retry.incremental(3, 5000, 5000)); receiveendpointconfig.consumer<tconsumer>(); receiveendpointconfig.purgeonstartup = false; receiveendpointconfig.autodelete = true; receiveendpointconfig.durable = true; }); }); respond method in consumer:
return context.respondasync(response); if want timeout consumer generate dead-letter message , skipped queue, return this:
return task.completedtask; but don't want skipped queue visible in rabbitmq gui, other working great.
i asked same question chris patterson few months ago didn't answer: https://stackoverflow.com/a/39236139.
i don't want app creates many skipped queues, if creates 1 skipped queue can still live there many because there identifier in queuename...: 
it default middleware @ moment there no way turn off. however, can create empty consumer jobject , consume messages, mean no matter message receive, there @ least 1 consumer. dead letter queue middleware not engaged.
Comments
Post a Comment