Hi,<div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">I'm trying to determine if RabbitMQ is the right solution for me, and I was hoping someone here might be able to help answer a couple of questions?</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">The app I'm working on is fairly simple, a user creates a listing which they can then post to a website, but also post links to twitter and facebook and send out a bulk email to a list of subscribers. At the moment this is all done&nbsp;synchronously&nbsp;when the user saves the listing through a web site, but I would like to use a queue to increase the reliability of the solution.&nbsp;</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">The following is how I think the new solution might work:-</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">1) User posts new listing through web app which we commit to database.</div><div style="border-style: initial; border-color: initial; ">2) Listing is reformatted for each of Twitter/Facebook/Email and committed to the database.</div><div style="border-style: initial; border-color: initial; ">2) Listing is added to a message queue.</div><div style="border-style: initial; border-color: initial; ">3) Background process(es) read the queue and submit to facebook, twitter and email (SMTP).</div><div style="border-style: initial; border-color: initial; ">4) User is notified if anything went wrong.</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">So my questions:-</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">- If this a good idea or am I thinking of queues in the wrong way?</div><div style="border-style: initial; border-color: initial; ">- The listing is committed to the database, but at the moment we also persist the twitter/facebook/email messages to the database too because they are formatted differently. Should we continue to do this or should those just be RabbitMQ messages? I don't suppose we really need to be able to see those (except for debugging)</div><div style="border-style: initial; border-color: initial; ">- Should the Message which is sent to the Queue be everything which the consumer needs to process the message or is it acceptable to just send a primary key and have the consumer (background process) fetch it from the database?</div><div style="border-style: initial; border-color: initial; ">- How do I notify the client of a failure? Ideally I'd like to be able to present it back in the web app UI</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">Sorry for all the questions, I appreciate any help you can give</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">Regards</div><div style="border-style: initial; border-color: initial; "><br></div><div style="border-style: initial; border-color: initial; ">James</div>