Example #1
0
        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()}");
            }
        }
Example #2
0
        public bool Update(Journal model)
        {
            var updateEntity = _repository.GetById(model.Id);

            updateEntity.Amount = model.Amount;
            updateEntity.Status = model.Status;
            updateEntity.Note   = model.Note;
            var user = this.GetUserFromToken();

            updateEntity.Modified   = DateTime.Now;
            updateEntity.ModifiedBy = user.Id;
            return(_repository.Commit());
        }