in fbpcp/service/mpc.py [0:0]
def update_instance(self, instance_id: str) -> MPCInstance:
instance = self.instance_repository.read(instance_id)
self.logger.info(f"Updating MPC instance: {instance_id}")
if instance.status in [
MPCInstanceStatus.COMPLETED,
MPCInstanceStatus.FAILED,
MPCInstanceStatus.CANCELED,
]:
return instance
# skip if no containers registered under instance yet
if instance.containers:
instance.containers = self._update_container_instances(instance.containers)
if len(instance.containers) != instance.num_workers:
raise PcpError(
f"Instance {instance_id} has {len(instance.containers)} containers after update, but expecting {instance.num_workers} containers!"
)
instance.status = self._get_instance_status(instance)
self.instance_repository.update(instance)
return instance