Question: DDMS is good for debugging, but when you are ready to release the app, it just seems excessive that it would be sending all this signal to the user's computer when USB connected. 

Is it possible to suppress output to ddms? If so, how?

Answer: 
The problem with `on_success` and other handlers in `Task` is, it runs on the worker. If you use this approach, the code you add to that method has to trigger the desired action; but the task doesn't have info about what process called it, so you would probably run another task ... that routes to the caller somehow ... that would wait in a queue to be executed ... doesn't sound like what you're looking for.

To get asynchronous notifications of task-level events, use `Celery.events.State` as demonstrated in <http://docs.celeryproject.org/en/latest/userguide/monitoring.html?highlight=my_monitor#id20>. You can choose which events to monitor, and get real-time notification (callback-style) when an event occurs.
Now the celery documentation isn't resolving for me at the moment, but it seems like you should be able to set up a callback method that your remote task can call to inform you that the task has completed. I'll update this answer if/when I can get the celery documentation to resolve.

**EDIT:** Got to the documentation now.

So per [the documentation](http://ask.github.com/celery/userguide/tasks.html#handlers), it seems like what you want is a task class with either a `on_success` or `after_return` handler. Depending on your use case, either this method can do the processing you need to do using the return value of the task, or it can notify you that the result has succeeded. I would recommend the former unless you have a specific need to run on the handler instead of the worker. Regardless, either way, you shouldn't need to poll `result.ready()` anymore.