If all what you need is to report th task progress, you could periodically write the amount of work done to db from within the task. Then query db asynchronously with ajax to show it to the user. This could be done by extending the "scheduler_run" table.
I'm not sure if there is a way to stop a running task. I guess you would have to kill the worker process to do that. Pause/resume would be even more difficult as the state of a task have to be stored. Probably it would be easier to do using a task queue framework such as Celery [1] or implementing your own queue using e.g. RabbitMQ [2]. [1] http://celeryproject.org/ [2] http://www.rabbitmq.com/tutorials/tutorial-two-python.html