Compare commits

..

2 Commits

Author SHA1 Message Date
cb6482ebae Add logmessage on startup for next job 2023-09-19 20:04:25 +02:00
87ea077281 Remove log clutter and filewrites 2023-09-19 20:02:56 +02:00

View File

@ -14,6 +14,7 @@ public class JobBoss : GlobalBase
this.jobs = new(); this.jobs = new();
LoadJobsList(connectors); LoadJobsList(connectors);
this.mangaConnectorJobQueue = new(); this.mangaConnectorJobQueue = new();
Log($"Next job in {jobs.MinBy(job => job.nextExecution)?.nextExecution.Subtract(DateTime.Now)} {jobs.MinBy(job => job.nextExecution)?.id}");
} }
public void AddJob(Job job) public void AddJob(Job job)
@ -161,10 +162,7 @@ public class JobBoss : GlobalBase
cachedPublications.Add(ncJob.manga); cachedPublications.Add(ncJob.manga);
} }
public void ExportJobsList() public void ExportJob(Job job)
{
Log("Exporting Jobs");
foreach (Job job in this.jobs)
{ {
string jobFilePath = Path.Join(settings.jobsFolderPath, $"{job.id}.json"); string jobFilePath = Path.Join(settings.jobsFolderPath, $"{job.id}.json");
string jobStr = JsonConvert.SerializeObject(job); string jobStr = JsonConvert.SerializeObject(job);
@ -174,6 +172,12 @@ public class JobBoss : GlobalBase
File.WriteAllText(jobFilePath, jobStr); File.WriteAllText(jobFilePath, jobStr);
} }
public void ExportJobsList()
{
Log("Exporting Jobs");
foreach (Job job in this.jobs)
ExportJob(job);
//Remove files with jobs not in this.jobs-list //Remove files with jobs not in this.jobs-list
Regex idRex = new (@"(.*)\.json"); Regex idRex = new (@"(.*)\.json");
foreach (FileInfo file in new DirectoryInfo(settings.jobsFolderPath).EnumerateFiles()) foreach (FileInfo file in new DirectoryInfo(settings.jobsFolderPath).EnumerateFiles())
@ -219,14 +223,13 @@ public class JobBoss : GlobalBase
} }
queueHead.ResetProgress(); queueHead.ResetProgress();
jobQueue.Dequeue(); jobQueue.Dequeue();
ExportJobsList(); ExportJob(queueHead);
Log($"Next job in {jobs.MinBy(job => job.nextExecution)?.nextExecution.Subtract(DateTime.Now)} {jobs.MinBy(job => job.nextExecution)?.id}"); Log($"Next job in {jobs.MinBy(job => job.nextExecution)?.nextExecution.Subtract(DateTime.Now)} {jobs.MinBy(job => job.nextExecution)?.id}");
}else if (queueHead.progressToken.state is ProgressToken.State.Standby) }else if (queueHead.progressToken.state is ProgressToken.State.Standby)
{ {
Job[] subJobs = jobQueue.Peek().ExecuteReturnSubTasks().ToArray(); Job[] subJobs = jobQueue.Peek().ExecuteReturnSubTasks().ToArray();
AddJobs(subJobs); AddJobs(subJobs);
AddJobsToQueue(subJobs); AddJobsToQueue(subJobs);
ExportJobsList();
} }
} }
} }