You can clone with
TODO:DONE: * Make it possible to clean up jobs through something like 'crowd cleanup'. * Think about adding a CLEANUP state, with WorkUnits being dispatched to workers to clean up a Job's leftover files on S3, instead of the current in-request cleanup. (see Job#cleanup_assets) * Right now actions just process. Think about map / process / reduce. * Basic unit tests. * Job creation UI. Pick an action, add inputs, set options, go. (not needed) * Look into Grand Central Dispatch for ideas about how to implement Job ordering/piping around. * Finish fleshing out the crowd command. * Security. HTTP Basic Auth via config.yml, * Security. S3 authenticated URLs. * Use the email field to send mail when the Job's gone bad. (bad idea) * Benchmarking mode -- benchmark every single aspect of a job and report it. * Pare down the code that the workers are loading to the absolute minimum. * Documentation. (document inside of config.yml, too) * Think about having the completion of a work unit respond with another one, instead of having to make a second request. * Think about having a failed work unit shuffle off to the end of the queue, instead of going again right away (and probably being handed back to the very same daemon). * Replace work_units_remaining with a percent_complete * Monitor UI -- see queue of jobs / work units. * Basic integration tests. * Unit tests for lib. * Bump to version 0.1 and release on RubyForge. * Re-architected to use real Nodes (version 0.2).