diff --git a/skynet/dgpu/daemon.py b/skynet/dgpu/daemon.py index 216a800..bf7c176 100644 --- a/skynet/dgpu/daemon.py +++ b/skynet/dgpu/daemon.py @@ -66,7 +66,7 @@ class SkynetDGPUDaemon: resp = await self.conn.begin_work(rid) if 'code' in resp: - logging.info(f'probably beign worked on already... skip.') + logging.info(f'probably being worked on already... skip.') else: try: diff --git a/skynet/dgpu/network.py b/skynet/dgpu/network.py index 466dc59..5309122 100644 --- a/skynet/dgpu/network.py +++ b/skynet/dgpu/network.py @@ -211,6 +211,11 @@ class SkynetGPUConnector: img = Image.open(io.BytesIO(raw_img)) img.save(f'ipfs-docker-staging/image.png') + # check peer connections, reconnect to skynet gateway if not + peers = self.ipfs_node.check_connect() + if self.ipfs_url not in peers: + self.ipfs_node.connect(self.ipfs_url) + ipfs_hash = self.ipfs_node.add('image.png') self.ipfs_node.pin(ipfs_hash) diff --git a/skynet/ipfs/docker.py b/skynet/ipfs/docker.py old mode 100644 new mode 100755 index 8158d2e..851bb12 --- a/skynet/ipfs/docker.py +++ b/skynet/ipfs/docker.py @@ -21,6 +21,8 @@ class IPFSDocker: def add(self, file: str) -> str: ec, out = self._container.exec_run( ['ipfs', 'add', '-w', f'/export/{file}', '-Q']) + if ec != 0: + logging.error(out) assert ec == 0 return out.decode().rstrip() @@ -38,6 +40,15 @@ class IPFSDocker: assert ec == 0 + def check_connect(self): + ec, out = self._container.exec_run( + ['ipfs', 'swarm', 'peers']) + if ec != 0: + logging.error(out) + assert ec == 0 + + return out.splitlines() + @cm def open_ipfs_node(name='skynet-ipfs'):