Hi,<div><br></div><div>I&#39;m just starting out with RabbitMQ and trying to wrap my head around a few concepts. �I apologize if I ask something that should be obvious or I missed in the docs and faq. �I&#39;m hoping someone can help with a few scenarios, and please point me to further reading as needed.</div>

<div><br></div><div>

I&#39;m curious about use-cases that are not directly related to RabbitMQ, but how to best use RabbitMQ in an web application&#39;s�architecture. �Thes are probably very common situations.</div><div><br></div><div>1) Notification of job status and completion: �If the web app produces a request to generate an expensive PDF is there a common approach to detecting when the consumer is completed and the pdf is ready for downloading? �Should I create a single-use return queue with x-expires and/or x-message-ttl on the queue? � In a web app the web user may never come back to pick up the PDF.</div>


<div><br></div><div>2) Job sequencing: �What&#39;s a common approach to multiple step processing that must be done serially? �I.e. queue job &quot;A&quot; and when it&#39;s complete queue job &quot;B&quot;. �Doesn&#39;t really seem like consumer &quot;A&quot; should be responsible for submitting job &quot;B&quot;. �Is it better to create a consumer &quot;AB&quot; that submits &quot;A&quot; and waits for a message that &quot;A&quot; is complete and then submits job &quot;B&quot;?</div>

<div><br></div><div>3) Scheduling: I assume there&#39;s no facility for scheduling jobs to be delivered to consumers at some future time. �Is there a better approach than using cron to check the database for jobs that should be queued based on time?</div>

<div><br></div><div>4) Cancel a request: �We have some situations when a subsequent request should cancel processing of an earlier request. �(Frankly, I think this is a design problem on our end.)</div><div><br></div><div>

5) Prevent duplicate job requests: In a web environment when things break problems often compound by users reloading requests that caused the problem in the first place. �I&#39;m not sure RabbitMQ would be involved at all in this scenario, but I&#39;m asking just in case. ;) �</div>

<div><br></div><div>Finally, it&#39;s great that RabbitMQ will send a message again if is is not ACK&#39;d and a consumer closes its connection. �But, is there any kind of max retry count available? �That is, what&#39;s a good approach to prevent an errant job from killing all consumers one-by-one?</div>

<div><br></div><div>Thanks,</div><div><br></div><div>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org" target="_blank">moseley@hank.org</a><br>
</div>