Don't try to reupload settings on retry

This commit is contained in:
2026-01-18 12:42:48 -06:00
parent d7dec4b7e9
commit 0a647bd0a0
4 changed files with 24 additions and 17 deletions

View File

@@ -37,7 +37,7 @@
this.SettingsProcessor.ValidateSettings(Instance, settings);
}
public async Task Randomize(string id, SeedSettings settings) {
public async Task Randomize(string id, SeedSettings settings, bool uploadSettings = true) {
Logger.LogDebug("Recieved request for id {id} to randomize settings {@settings}", id, settings);
var start = new ProcessStartInfo() {
@@ -90,10 +90,12 @@
}
};
if (uploadSettings) {
var settingsJson = JsonSerializer.SerializeToDocument(settings, JsonOptions.Default);
var settingsOut = string.Format("{0}/settings.json", id);
await AzureStorage.UploadFile(settingsOut, new BinaryData(settingsJson));
}
}
private async Task GenerationSucceeded(string id, SeedSettings settings) {
var rom = Path.Join(Path.GetTempPath(), string.Format("ER_{0}.sfc", id));

View File

@@ -18,7 +18,7 @@
public const string Name = "base";
public const string DungeonMapName = "dungeon_map";
public const int MULTI_TRIES = 80;
public const int MULTI_TRIES = 100;
public const int SINGLE_TRIES = 5;
public BaseRandomizer(
@@ -125,14 +125,15 @@
process.Exited += async (sender, args) => {
try {
this.ShutdownHandler.RemoveId(id);
Logger.LogInformation("Generation {id} has exited with exit code {exitCode}", id, process.ExitCode);
await completed.Invoke(process.ExitCode);
} catch (Exception ex) {
this.Logger.LogError(ex, "Error while invoking completion of randomizer generation.");
this.Logger.LogError(ex, "Error while invoking completion of randomizer generation {id}.", id);
}
};
}
public async Task Randomize(string id, SeedSettings settings) {
public async Task Randomize(string id, SeedSettings settings, bool uploadSettings = true) {
Logger.LogDebug("Recieved request for id {id} to randomize settings {@settings}", id, settings);
var args = this.GetArgs(settings).Append(string.Format("--tries={0}", SINGLE_TRIES));
@@ -145,12 +146,14 @@
}
});
if (uploadSettings) {
var settingsJson = JsonSerializer.SerializeToDocument(settings, JsonOptions.Default);
var settingsOut = string.Format("{0}/settings.json", id);
await AzureStorage.UploadFile(settingsOut, new BinaryData(settingsJson));
}
}
public async Task RandomizeMultiworld(string id, IList<SeedSettings> settings) {
public async Task RandomizeMultiworld(string id, IList<SeedSettings> settings, bool uploadSettings = true) {
var randomizerName = this.SettingsProcessor.GetRandomizerName(settings[0].Randomizer);
Logger.LogDebug("Recieved request for id {id} to randomize multiworld settings {@settings}", id, settings);
@@ -169,10 +172,12 @@
}
});
if (uploadSettings) {
var settingsJson = JsonSerializer.SerializeToDocument(settings, JsonOptions.Default);
var settingsOut = string.Format("{0}/settings.json", id);
await AzureStorage.UploadFile(settingsOut, new BinaryData(settingsJson));
}
}
private async Task SingleSucceeded(string id) {
try {

View File

@@ -5,6 +5,6 @@
public interface IRandomizer {
public void Validate(SeedSettings settings);
public Task Randomize(string id, SeedSettings settings);
public Task Randomize(string id, SeedSettings settings, bool uploadSettings = true);
}
}

View File

@@ -47,7 +47,7 @@
var randomizer = this.ServiceProvider.GetRequiredKeyedService<IRandomizer>(randomizerKey);
randomizer.Validate(settings);
await randomizer.Randomize(id, settings);
await randomizer.Randomize(id, settings, seedId == null);
return id;
}
@@ -57,7 +57,7 @@
this.BaseRandomizer.ValidateAll(settings);
await this.BaseRandomizer.RandomizeMultiworld(id, settings);
await this.BaseRandomizer.RandomizeMultiworld(id, settings, multiId == null);
return id;
}