Use a filelock to prevent running flush_queue concurrently

We're using django-async for a medium-sized Django application.  We have a cron job running flush_queue once per minute.  If it ever takes more than a minute to run though, the runs start overlapping, and jobs get executed multiple times.