public void RegisterPackageUse(PackageIdentity package, ServerTaskId deploymentTaskId, ulong packageSizeBytes) { try { using (AcquireSemaphore()) { journalRepository.Load(); journalRepository.Cache.IncrementCacheAge(); var age = journalRepository.Cache.CacheAge; if (journalRepository.TryGetJournalEntry(package, out var entry)) { entry.AddUsage(deploymentTaskId, age); entry.AddLock(deploymentTaskId, age); } else { entry = new JournalEntry(package, packageSizeBytes); entry.AddUsage(deploymentTaskId, age); entry.AddLock(deploymentTaskId, age); journalRepository.AddJournalEntry(entry); } log.Verbose($"Registered package use/lock for {package} and task {deploymentTaskId}"); journalRepository.Commit(); } } catch (Exception ex) { //We need to ensure that an issue with the journal doesn't interfere with the deployment. log.Info($"Unable to register package use for retention.{Environment.NewLine}{ex.ToString()}"); } }
public IActionResult Post([FromBody] JournalEntry j) { journalRepository.AddJournalEntry(j); return(new OkObjectResult(j)); }