private static TaskMetaInformation TaskMeta(string taskId, TimeSpan?ttl)
        {
            var taskMeta = new TaskMetaInformation($"Name-{Guid.NewGuid():N}", taskId)
            {
                MinimalStartTicks = Timestamp.Now.Ticks
            };

            taskMeta.SetOrUpdateTtl(ttl ?? defaultTtl);
            return(taskMeta);
        }
        public void SetOrUpdateTtl_Now()
        {
            var now  = Timestamp.Now;
            var meta = new TaskMetaInformation("Test_name", "Test-id");
            var ttl  = TimeSpan.FromMilliseconds(3342);

            meta.SetOrUpdateTtl(ttl);
            Assert.That(meta.GetTtl(), Is.InRange(ttl - TimeSpan.FromSeconds(1), ttl));
            Assert.That(meta.ExpirationTimestampTicks, Is.GreaterThanOrEqualTo((now + ttl).Ticks));
        }
コード例 #3
0
        private void Write(string taskId, TimeSpan?ttl = null)
        {
            var now      = Timestamp.Now;
            var taskMeta = new TaskMetaInformation("TaskName", taskId)
            {
                MinimalStartTicks = now.Ticks
            };

            taskMeta.SetOrUpdateTtl(ttl ?? defaultTtl);
            taskMetaStorage.Write(taskMeta, now.Ticks);
        }
        public void SetOrUpdateTtl_MinimalStartTicks()
        {
            var minimalStart = Timestamp.Now + TimeSpan.FromHours(1);
            var ttl          = TimeSpan.FromMilliseconds(3342);
            var meta         = new TaskMetaInformation("Test_name", "Test-id")
            {
                MinimalStartTicks = minimalStart.Ticks
            };

            meta.SetOrUpdateTtl(ttl);
            Assert.That(meta.GetTtl(), Is.InRange(TimeSpan.FromHours(1) - ttl, TimeSpan.FromHours(1) + ttl));
            Assert.That(meta.ExpirationTimestampTicks, Is.GreaterThanOrEqualTo((minimalStart + ttl).Ticks));
        }