public override void SetUp() { base.SetUp(); mockJobStore = Mocks.CreateMock <IJobStore>(); mockJobRunner = Mocks.CreateMock <IJobRunner>(); mockLogger = Mocks.CreateMock <ILogger>(); mockTrigger = Mocks.PartialMock <Trigger>(); scheduler = new DefaultScheduler(mockJobStore, mockJobRunner); dummyJobData = new JobData(); dummyJobSpec = new JobSpec("foo", "bar", "key", mockTrigger); dummyJobDetails = new JobDetails(dummyJobSpec, DateTime.UtcNow); isWoken = false; // Ensure the scheduler is initialized. mockJobStore.RegisterScheduler(scheduler.Guid, scheduler.Name); Mocks.Replay(mockJobStore); scheduler.Initialize(); Mocks.Verify(mockJobStore); Mocks.BackToRecord(mockJobStore); mockJobStore.UnregisterScheduler(scheduler.Guid); // Create a separate uninitialized scheduler for certain tests. uninitializedScheduler = new DefaultScheduler(mockJobStore, mockJobRunner); }
public override void SetUp() { base.SetUp(); mockJobStore = Mocks.CreateMock<IJobStore>(); mockJobRunner = Mocks.CreateMock<IJobRunner>(); mockLogger = Mocks.CreateMock<ILogger>(); mockTrigger = Mocks.PartialMock<Trigger>(); scheduler = new DefaultScheduler(mockJobStore, mockJobRunner); dummyJobData = new JobData(); dummyJobSpec = new JobSpec("foo", "bar", "key", mockTrigger); dummyJobDetails = new JobDetails(dummyJobSpec, DateTime.UtcNow); isWoken = false; // Ensure the scheduler is initialized. mockJobStore.RegisterScheduler(scheduler.Guid, scheduler.Name); Mocks.Replay(mockJobStore); scheduler.Initialize(); Mocks.Verify(mockJobStore); Mocks.BackToRecord(mockJobStore); mockJobStore.UnregisterScheduler(scheduler.Guid); // Create a separate uninitialized scheduler for certain tests. uninitializedScheduler = new DefaultScheduler(mockJobStore, mockJobRunner); }
public void SetUp() { defaultScheduler = new DefaultScheduler(bus); container.Register<IBus>(() => bus); container.Register<DefaultScheduler>(() => defaultScheduler); schedule = new Schedule(container); }
/// <summary> /// Invoked if the feature is activated. /// </summary> /// <param name="context">The feature context.</param> protected internal override void Setup(FeatureConfigurationContext context) { context.Settings.Get<Conventions>().AddSystemMessagesConventions(t => typeof(ScheduledTask).IsAssignableFrom(t)); var defaultScheduler = new DefaultScheduler(); context.Container.RegisterSingleton(defaultScheduler); context.Pipeline.Register("ScheduleBehavior", new ScheduleBehavior(defaultScheduler), "Registers a task definition for scheduling."); }
public Database(ILoggerFactory loggerFactory, DatatentSettings settings, IDataProcessingPipeline processingPipeline) { _settings = settings; _processingPipeline = processingPipeline; _fileSystemService = new FileSystemService(_settings, loggerFactory.CreateLogger <FileSystemService>()); _defaultScheduler = new DefaultScheduler(_fileSystemService); }
public void SetUp() { defaultScheduler = new DefaultScheduler(bus); container.Register <IBus>(() => bus); container.Register <DefaultScheduler>(() => defaultScheduler); schedule = new Schedule(container); }
/// <summary> /// Invoked if the feature is activated. /// </summary> /// <param name="context">The feature context.</param> protected internal override void Setup(FeatureConfigurationContext context) { context.Settings.Get <Conventions>().AddSystemMessagesConventions(t => typeof(ScheduledTask).IsAssignableFrom(t)); var defaultScheduler = new DefaultScheduler(); context.Container.RegisterSingleton(defaultScheduler); context.Pipeline.Register("ScheduleBehavior", new ScheduleBehavior(defaultScheduler), "Registers a task definition for scheduling."); }
public void SetUp() { scheduler = new DefaultScheduler(bus); handler = new ScheduledTaskMessageHandler(scheduler); var task = new TaskDefinition{Task = () => { }}; taskId = task.Id; scheduler.Schedule(task); }
public void TestTenIterations() { var scheduler = new DefaultScheduler(); scheduler.Initialize(new TestStateManager(), new DefaultCumulativeRewardEstimator <int>(), new DefaultTerminalStateEvaluator <int>()); JobHandle currentJobHandle = default; for (int i = 0; i < 10; i++) { currentJobHandle = scheduler.Schedule(default);
public void TestAddingSingleNewPage() { var scheduler = new DefaultScheduler(); var url = new Uri("http://google.nl"); scheduler.Add(url); var result = scheduler.GetNext(); Assert.AreEqual(url, result); }
public void TestAddingMultipleNewPages() { var scheduler = new DefaultScheduler(); var urls = new[] { new Uri("https://google.nl"), new Uri("https://google123.nl") }; scheduler.Add(urls); var total = scheduler.Count; Assert.AreEqual(urls.Length, total); }
public void TestForAddingExistingPageAfterCrawled() { var scheduler = new DefaultScheduler(); var url = new Uri("https://google.nl"); scheduler.AddKnownUri(url); scheduler.Add(url); var total = scheduler.Count; Assert.AreEqual(0, total); }
public DefaultSchedulerTests() { this.schedulerMetadata.Setup(s => s.HeartbeatInterval).Returns(TimeSpan.FromMilliseconds(100)); this.sut = new DefaultScheduler <Guid>( this.schedulerId, this.schedulerMetadata.Object, this.schedulerMetadataStore.Object, this.schedulerStateMonitor.Object, this.jobProcessor.Object, this.logger.Object); }
public void TestCountOnlyReturningPagesToCrawl() { var scheduler = new DefaultScheduler(); var firstUrl = new Uri("https://google.nl"); var secondUrl = new Uri("https://gogle123.nl"); scheduler.Add(firstUrl); scheduler.AddKnownUri(secondUrl); var total = scheduler.Count; Assert.AreEqual(1, total); }
public void SetUp() { scheduler = new DefaultScheduler(bus); handler = new ScheduledTaskMessageHandler(scheduler); var task = new TaskDefinition { Task = () => { } }; taskId = task.Id; scheduler.Schedule(task); }
public void SetUp() { scheduler = new DefaultScheduler(); handler = new ScheduledTaskMessageHandler(scheduler); var task = new TaskDefinition { Every = TimeSpan.FromSeconds(5), Task = c => TaskEx.CompletedTask }; taskId = task.Id; scheduler.Schedule(task); }
public Task ProcessCommand <TCommand>(TCommand command) where TCommand : IAsyncCommand { IScheduler scheduler; if (Schedulers.TryGetValue(typeof(TCommand), out scheduler)) { return(scheduler.Run(() => _commandBus.ProcessCommand(command))); } if (DefaultScheduler != null) { return(DefaultScheduler.Run(() => _commandBus.ProcessCommand(command))); } return(_commandBus.ProcessCommand(command)); }
public Task <TResult> ProcessQuery <TQuery, TResult>(TQuery query) where TQuery : IAsyncQuery <object> { IScheduler scheduler; if (Schedulers.TryGetValue(typeof(TQuery), out scheduler)) { return(scheduler.Run(() => _queryBus.ProcessQuery <TQuery, TResult>(query))); } if (DefaultScheduler != null) { return(DefaultScheduler.Run(() => _queryBus.ProcessQuery <TQuery, TResult>(query))); } return(_queryBus.ProcessQuery <TQuery, TResult>(query)); }
public void SetUp() { logicalContext = new TestableIncomingLogicalMessageContext(); scheduler = new DefaultScheduler(); behavior = new ScheduledTaskHandlingBehavior(scheduler); var task = new TaskDefinition { Every = TimeSpan.FromSeconds(5), Task = c => Task.CompletedTask }; taskId = task.Id; scheduler.Schedule(task); }
private ClientConfiguration() { Scheduler = new DefaultScheduler(); Logger = NullLogger.Instance; Dispatcher = new DefaultPacketDispatcher(new Lazy <bool>(() => this.AsynchrounousDispatch)); TransportFactory = DefaultTransportFactory; //Transport = new WebSocketClientTransport(NullLogger.Instance); Serializers = new List <ISerializer> { new MsgPackSerializer() }; MaxPeers = 20; Plugins = new List <IClientPlugin>(); Plugins.Add(new RpcClientPlugin()); AsynchrounousDispatch = true; PingInterval = 5000; }
/** * Scheduler控制订阅和通知的发送。 * Scheduler包含三个组件:1)一个优先队列存放任务,2)Execution context,用来决定任务在哪执行(线程池,当前线程)3)scheduler的时钟,Task是根据这个时钟调度的,不是系统时钟。 * * rx中所有的Scheduler实现IScheduler接口。 * */ public static void GetSchedulers() { //立刻在当前线程上执行 ImmediateScheduler immediate = Scheduler.Immediate; //在当前线程上尽可能快的执行(先放到队列中,尽快执行) CurrentThreadScheduler currentThreadScheduler = Scheduler.CurrentThread; //每次创建一个线程执行 NewThreadScheduler newThreadScheduler = NewThreadScheduler.Default; //在Task Factory上执行 TaskPoolScheduler taskPoolScheduler = TaskPoolScheduler.Default; //在当前Dispatcher上执行任务 DispatcherScheduler dispatcherScheduler = DispatcherScheduler.Current; //在ThreadPool上执行 ThreadPoolScheduler threadPoolScheduler = ThreadPoolScheduler.Instance; //默认的调度器 其原则是使用最小的并行性,for operators returning an observable with a finite and small number of messages, Rx calls Immediate. For operators returning a potentially large or infinite number of messages, CurrentThread is called. For operators which use timers, ThreadPool is used. DefaultScheduler defaultScheduler = Scheduler.Default; }
public async Task AddAndWaitForResult() { using DefaultScheduler fileSystemScheduler = new DefaultScheduler(new MemoryFileSystemService(new DatatentSettings(), Constants.BLOCK_SIZE_INCL_HEADER * 2, new NullLogger <FileSystemServiceBase>())); var bytes = new byte[Constants.PAGE_SIZE_INCL_HEADER]; UnitTestHelper.FillArray(ref bytes, 0x01); var address = new Address(AddressScope.Page, 1, 1); IORequest writeRequest = new IORequest(IORequestDirection.Write, address, bytes); var writeResponse = await fileSystemScheduler.ScheduleFileSystemRequest(writeRequest).ConfigureAwait(false); writeResponse.Id.Should().Be(writeRequest.Id); IORequest readRequest = IORequest.CreateReadRequest(address); var readResponse = await fileSystemScheduler.ScheduleFileSystemRequest(readRequest).ConfigureAwait(false); readResponse.Address.FullAddress.Should().Be(address.FullAddress); readResponse.Payload.Take(bytes.Length).Should().BeEquivalentTo(bytes); }
public void Start() { ErrorsNotifications errors = busNotifications.Errors; DefaultScheduler scheduler = Scheduler.Default; unsubscribeStreams.Add( errors.MessageSentToErrorQueue .ObserveOn(scheduler) .Subscribe(LogEvent) ); unsubscribeStreams.Add( errors.MessageHasBeenSentToSecondLevelRetries .ObserveOn(scheduler) .Subscribe(LogEvent) ); unsubscribeStreams.Add( errors.MessageHasFailedAFirstLevelRetryAttempt .ObserveOn(scheduler) .Subscribe(LogEvent) ); }
public TestBase() { this.repository = new JobbrRepository(new InMemoryJobStorageProvider()); var executorMock = new Mock <IJobExecutor>(); executorMock.Setup(e => e.OnPlanChanged(It.IsNotNull <List <PlannedJobRun> >())).Callback <List <PlannedJobRun> >(p => this.lastIssuedPlan = p); this.periodicTimer = new PeriodicTimerMock(); this.currentTimeProvider = new ManualTimeProvider(); var job = new Job(); this.repository.AddJob(job); this.demoJob1Id = job.Id; this.scheduler = new DefaultScheduler(this.repository, executorMock.Object, new InstantJobRunPlaner(this.currentTimeProvider), new ScheduledJobRunPlaner(this.currentTimeProvider), new RecurringJobRunPlaner(this.repository, this.currentTimeProvider), new DefaultSchedulerConfiguration(), this.periodicTimer, this.currentTimeProvider); }
private static void PreloadStudyInformation() { Scheduler = new DefaultScheduler(Database); Cache = new Cache(Scheduler.GetMetadata(), Database); CardViewCreator = new CardViewCreator(); }
public override void Schedule(Task task) { DefaultScheduler.Schedule(task); }
public ScheduledTaskMessageHandler(DefaultScheduler scheduler) { this.scheduler = scheduler; }
public void SetUp() { scheduler = new DefaultScheduler(bus); }
public void DefaultBehaviourTest() { var s = new DefaultScheduler(); s.TestDefaultMethod(); }
public void SetUp() { scheduler = new DefaultScheduler(); }
/// <summary> /// Initializes a TaskQueue. /// </summary> public TaskQueue() { Scheduler = new DefaultScheduler(); }
public FakeMessageSession(DefaultScheduler defaultScheduler) { this.defaultScheduler = defaultScheduler; }
public void SetUp() { scheduler = new DefaultScheduler(); session = new FakeMessageSession(scheduler); }
public void DefaultBehaviourTest () { var s = new DefaultScheduler (); s.TestDefaultMethod (); }
public Schedulers(DispatcherScheduler dispatcher, DefaultScheduler threadPool, ImmediateScheduler immediate) => (_dispatcher, _threadPool, _immediate) = (dispatcher, threadPool, immediate);