forked from SelfPrivacy/selfprivacy.org.app
Add magic sleep before deleteVolume on creation failure
It seems Hetzner fails to accept our deleteVolume request so quickly after failing. We need to wait for about 10 seconds, I guess. The same magic sleep happens on deleteServer pack of requests. Please have patience...
parent
dab2c569ec
commit
d8ea528621
|
@ -271,10 +271,6 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi {
|
|||
dataBase: newVolume,
|
||||
);
|
||||
|
||||
if (details == null) {
|
||||
deleteVolume(newVolume.id);
|
||||
}
|
||||
|
||||
return details;
|
||||
}
|
||||
|
||||
|
@ -320,6 +316,8 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi {
|
|||
print('Decoded data: $data');
|
||||
|
||||
ServerHostingDetails? serverDetails;
|
||||
DioError? hetznerError;
|
||||
bool success = false;
|
||||
|
||||
try {
|
||||
final Response serverCreateResponse = await client.post(
|
||||
|
@ -335,17 +333,25 @@ class HetznerApi extends ServerProviderApi with VolumeProviderApi {
|
|||
apiToken: apiToken,
|
||||
provider: ServerProvider.hetzner,
|
||||
);
|
||||
success = true;
|
||||
} on DioError catch (e) {
|
||||
print(e);
|
||||
deleteVolume(dataBase.id);
|
||||
rethrow;
|
||||
hetznerError = e;
|
||||
} catch (e) {
|
||||
print(e);
|
||||
deleteVolume(dataBase.id);
|
||||
} finally {
|
||||
client.close();
|
||||
}
|
||||
|
||||
if (!success) {
|
||||
await Future.delayed(const Duration(seconds: 10));
|
||||
await deleteVolume(dbId);
|
||||
}
|
||||
|
||||
if (hetznerError != null) {
|
||||
throw hetznerError;
|
||||
}
|
||||
|
||||
return serverDetails;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue