Use double ended queue to clean up async.js