I store the task_id from an celery.result.AsyncResult in a database and relate it to the item that the task affects. This allows me to perform a query to retrieve all the task_ids of tasks that relate to a specific item.

So after retrieving the task_id from the database, how do I go about retrieving information about the task’s state/result/etc?

From the Celery FAQ:

result = MyTask.AsyncResult(task_id)
result.get()