コード例 #1
0
        public void ItEnqueuesAndReceivesDelegatesThatAreRunnable()
        {
            var testFixture = new TaskQueueTestFixture(nameof(ItEnqueuesAndReceivesDelegatesThatAreRunnable));

            testFixture.EnsureSemaphoreDoesntExist();
            testFixture.PushPopExecuteWriteSemaphore();
            testFixture.EnsureSemaphore();
        }
コード例 #2
0
        public void ItContinuesListeningWhenATaskThrowsAnException()
        {
            var waitTime = 5000;

            var taskClient    = new TaskClient(TaskQueue.Redis("localhost:6379", nameof(ItContinuesListeningWhenATaskThrowsAnException)));
            var semaphoreFile = Path.GetTempFileName();

            taskClient.TaskQueue.Enqueue(() => Throw());
            taskClient.TaskQueue.Enqueue(() => TaskQueueTestFixture.WriteSempaphore(semaphoreFile));

            var task = Task.Run(() => taskClient.Listen());

            Thread.Sleep(waitTime);

            taskClient.CancelListen();
            task.Wait();

            TaskQueueTestFixture.EnsureSemaphore(semaphoreFile);
        }
コード例 #3
0
        public async Task ItContinuesListeningWhenATaskThrowsAnException()
        {
            var waitTime = 5000;

            var taskQueue     = TaskQueueTestFixture.UniqueRedisTaskQueue();
            var taskClient    = new TaskClient(taskQueue);
            var semaphoreFile = Path.GetTempFileName();

            await taskClient.TaskQueue.Enqueue(() => Throw());

            await taskClient.TaskQueue.Enqueue(() => TaskQueueTestFixture.WriteSemaphore(semaphoreFile));

            var task = Task.Run(async() => await taskClient.Listen());
            await Task.Delay(waitTime);

            taskClient.CancelListen();
            await task;

            TaskQueueTestFixture.EnsureSemaphore(semaphoreFile);
        }
コード例 #4
0
        public void ItContinuesListeningWhenATaskThrowsAnException()
        {
            var waitTime = 5000;

            var taskClient = new TaskClient(
                TaskQueue.Redis(TaskQueueTestFixture.RedisConnectionString, nameof(ItContinuesListeningWhenATaskThrowsAnException)),
                restoreScheduleFromBackup: false);
            var semaphoreFile = Path.GetTempFileName();

            taskClient.TaskQueue.Enqueue(() => Throw());
            taskClient.TaskQueue.Enqueue(() => TaskQueueTestFixture.WriteSempaphore(semaphoreFile));

            var task = Task.Run(() => taskClient.Listen());

            Thread.Sleep(waitTime);

            taskClient.CancelListen();
            task.Wait();

            TaskQueueTestFixture.EnsureSemaphore(semaphoreFile);
        }