Move the download function to DownloadWorker,
Create a Greelet class called DownloadWorker.
The purpose of the Download Worker, as you can see in the code, it will download the file from the queue.
You have to assign the job queue to the download worker or the worker will have no job. :)
Update README
Add an Job Class to describe the job content.
The worker will get the Job instance from the queue and go to work.