from manager.mancelery import celery @celery.task def async_operation(operation_id, instance_pk, activity_pk, **kwargs): from vm.models import Instance, InstanceActivity instance = Instance.objects.get(pk=instance_pk) operation = getattr(instance, operation_id) activity = InstanceActivity.objects.get(pk=activity_pk) # save async task UUID to activity activity.task_uuid = async_operation.request.id activity.save() return operation._exec_op(activity=activity, **kwargs) @celery.task def flush(node, user): node.flush(task_uuid=flush.request.id, user=user)