We've tended to stick to plain Django methods inside celery tasks (which you're welcome to do in this case too although it means restructuring things a bit). You might also consider spawning sub-tasks for each account so that you don't end up with one task that takes forever when there are lots of accounts.