2
0

Compare commits

..

No commits in common. "96e2845a5b22e1d5fcec2c5a1d31bf4ab57df540" and "18edcef1c3159013af86fab722e6721d64e0178a" have entirely different histories.

2 changed files with 27 additions and 14 deletions

View File

@ -20,7 +20,7 @@ COPY Tranga/Tranga.csproj /src/Tranga/Tranga.csproj
RUN dotnet restore /src/Tranga.sln RUN dotnet restore /src/Tranga.sln
COPY . /src/ COPY . /src/
RUN dotnet publish -c Release --property:OutputPath=/publish -maxcpucount:1 RUN dotnet publish -c Release -o /publish -maxcpucount:1
FROM base AS runtime FROM base AS runtime
EXPOSE 6531 EXPOSE 6531

View File

@ -148,7 +148,7 @@ public class JobBoss : GlobalBase
Regex idRex = new (@"(.*)\.json"); Regex idRex = new (@"(.*)\.json");
//Load json-job-files //Load json-job-files
foreach (FileInfo file in new DirectoryInfo(TrangaSettings.jobsFolderPath).EnumerateFiles().Where(fileInfo => idRex.IsMatch(fileInfo.Name))) foreach (FileInfo file in new DirectoryInfo(TrangaSettings.jobsFolderPath).EnumerateFiles().Where(fileInfo => idRex.IsMatch(fileInfo.Name)))
{ {
Log($"Adding {file.Name}"); Log($"Adding {file.Name}");
Job? job = JsonConvert.DeserializeObject<Job>(File.ReadAllText(file.FullName), Job? job = JsonConvert.DeserializeObject<Job>(File.ReadAllText(file.FullName),
@ -163,7 +163,6 @@ public class JobBoss : GlobalBase
{ {
Log($"Adding Job {job}"); Log($"Adding Job {job}");
this.jobs.Add(job); this.jobs.Add(job);
UpdateJobFile(job, file.Name);
} }
} }
@ -204,28 +203,42 @@ public class JobBoss : GlobalBase
internal void UpdateJobFile(Job job, string? oldFile = null) internal void UpdateJobFile(Job job, string? oldFile = null)
{ {
string newJobFilePath = Path.Join(TrangaSettings.jobsFolderPath, $"{job.id}.json"); string newJobFilePath = Path.Join(TrangaSettings.jobsFolderPath, $"{job.id}.json");
string oldFilePath = Path.Join(TrangaSettings.jobsFolderPath, oldFile);
if (!this.jobs.Any(jjob => jjob.id == job.id))
if (File.Exists(oldFilePath))
{ {
Log($"Deleting Job-file {oldFilePath}");
try try
{ {
while(IsFileInUse(oldFilePath)) Log($"Deleting Job-file {newJobFilePath}");
while(IsFileInUse(newJobFilePath))
Thread.Sleep(10); Thread.Sleep(10);
File.Delete(oldFilePath); File.Delete(newJobFilePath);
} }
catch (Exception e) catch (Exception e)
{ {
Log(e.ToString()); Log(e.ToString());
} }
} }
else
{
Log($"Exporting Job {newJobFilePath}");
string jobStr = JsonConvert.SerializeObject(job, Formatting.Indented);
while(IsFileInUse(newJobFilePath))
Thread.Sleep(10);
File.WriteAllText(newJobFilePath, jobStr);
}
Log($"Exporting Job {newJobFilePath}"); if(oldFile is not null)
string jobStr = JsonConvert.SerializeObject(job, Formatting.Indented); try
while(IsFileInUse(newJobFilePath)) {
Thread.Sleep(10); Log($"Deleting old Job-file {oldFile}");
File.WriteAllText(newJobFilePath, jobStr); while(IsFileInUse(oldFile))
Thread.Sleep(10);
File.Delete(oldFile);
}
catch (Exception e)
{
Log(e.ToString());
}
} }
private void UpdateAllJobFiles() private void UpdateAllJobFiles()