<metaname="description" content="Full Stack Python explains each layer of the web application stack, from the server up through the rendering in a user's browser.">
is a presentation for what task queues are and why they are needed. </p>
</li>
<li>
<p>Flask by Example <ahref="https://realpython.com/blog/python/flask-by-example-implementing-a-redis-task-queue/">Implementing a Redis Task Queue</a>
provides a detailed walkthrough of setting up workers to use RQ with
Redis.</p>
</li>
<li>
<p><ahref="https://www.digitalocean.com/community/articles/how-to-use-celery-with-rabbitmq-to-queue-tasks-on-an-ubuntu-vps">How to use Celery with RabbitMQ</a>
is a detailed walkthrough for using these tools on an Ubuntu VPS.</p>
</li>
<li>
<p>Heroku has a clear walkthrough for using
<ahref="https://devcenter.heroku.com/articles/python-rq">RQ for background tasks</a>.</p>
</li>
<li>
<p><ahref="http://www.linuxforu.com/2013/12/introducing-celery-pythondjango/">Introducing Celery for Python+Django</a>
provides an introduction to the Celery task queue.</p>
</li>
<li>
<p><ahref="https://denibertovic.com/posts/celery-best-practices/">Celery - Best Practices</a>
explains things you should not do with Celery and shows some underused
features for making task queues easier to work with.</p>
</li>
<li>
<p>The "Django in Production" series by
<ahref="https://twitter.com/robgolding63">Rob Golding</a> contains a post
specifically on <ahref="http://www.robgolding.com/blog/2011/11/27/django-in-production-part-2---background-tasks/">Background Tasks</a>.</p>
</li>
<li>
<p><ahref="http://blog.thecodepath.com/2012/11/15/asynchronous-processing-in-web-applications-part-1-a-database-is-not-a-queue/">Asynchronous Processing in Web Applications Part One</a>
and <ahref="http://blog.thecodepath.com/2013/01/06/asynchronous-processing-in-web-applications-part-2-developers-need-to-understand-message-queues/">Part Two</a>
are great reads for understanding the difference between a task queue and
why you shouldn't use your database as one.</p>
</li>
<li>
<p><ahref="http://www.caktusgroup.com/blog/2014/09/29/celery-production/">Celery in Production</a>
on the Caktus Group blog contains good practices from their experience
using Celery with RabbitMQ, monitoring tools and other aspects not often
discussed in existing documentation.</p>
</li>
<li>
<p><ahref="https://www.youtube.com/watch?v=68QWZU_gCDA">A 4 Minute Intro to Celery</a> is
<h4>Interested in a complete Full Stack Python book with detailed tutorials and example code? Sign up here and you'll get an alert email if a book is created. No other emails will be sent other than sign up confirmation.</h4>
$("#mc-embedded-subscribe-form").unbind('submit');//remove the validator so we can get into beforeSubmit on the ajaxform, which then calls the validator