public async Task should_consume_delay_job() { DelayedRedisHelper.Del(nameof(TestJobHandler)); var delayer = _serviceProvider.GetRequiredService <IDelayer <TestJob> >(); for (int j = 0; j < 100; j++) { await delayer.PutDealyJob( new TestJob(TimeSpan.FromSeconds(1), "abcde====" + j, j.ToString())); } Thread.Sleep(1000 * 20); var num = DelayedRedisHelper.LLen(nameof(TestJobHandler)); _testOutputHelper.WriteLine("消费:" + num); Assert.True(num == 100); _testOutputHelper.WriteLine("ok"); }
public async Task shou_add_to_bucket() { var jobid = Guid.NewGuid().ToString("N"); var delayer = _serviceProvider.GetRequiredService <IDelayer <TestJob> >(); await delayer.PutDealyJob( new TestJob(TimeSpan.FromSeconds(10), "abcde====" + jobid, jobid)); var jobpool = await new JobPool <TestJob>().GetJobAsync(jobid); Assert.NotNull(jobpool); Assert.True(jobpool.JobId == jobid); var bucketJob = await new Bucket().GetNextJobExecTimeAsync(nameof(TestJob)); Assert.True(bucketJob != null); await new JobPool <TestJob>().DelJobAsync(jobid); await new Bucket().RemoveJobAsync(nameof(TestJob), jobid); DelayedRedisHelper.Del(nameof(TestJobHandler)); }