Exemplo n.º 1
0
        public void TestWork_NoJobs()
        {
            JobQueue      queue    = new JobQueue();
            QueueExecutor executor = new QueueExecutor(queue);

            executor.Worker        = new WorkerImpl();
            executor.PluginFactory = new DudFactory();
            executor.Persister     = new DudPersister();

            // Shouldn't get any exceptions
            executor.Start();
        }
Exemplo n.º 2
0
        public void TestWork_NoWorker()
        {
            ObjectJobDefinition d = new ObjectJobDefinition(
                new PipelineDefinition(
                    new AlgorithmDefinition[] { }),
                new JobInput[] { });
            JobRequest    r           = new JobRequest(d);
            JobTicket     ticket      = new JobTicket(r, new DudCancellationHandler());
            JobQueue      queue       = new JobQueue();
            QueueExecutor executor    = new QueueExecutor(queue);
            bool          didComplete = false;

            executor.ExhaustedQueue += (s, e) => didComplete = true;
            queue.Enqueue(ticket);

            executor.Start();
        }
Exemplo n.º 3
0
        public void TestWork_OneJob()
        {
            ObjectJobDefinition d = new ObjectJobDefinition(
                new PipelineDefinition(
                    new AlgorithmDefinition[] { }),
                new JobInput[] { });
            JobRequest    r        = new JobRequest(d);
            JobTicket     ticket   = new JobTicket(r, new DudCancellationHandler());
            JobQueue      queue    = new JobQueue();
            WorkerImpl    worker   = new WorkerImpl();
            QueueExecutor executor = new QueueExecutor(queue);

            executor.Worker        = worker;
            executor.PluginFactory = new DudFactory();
            executor.Persister     = new DudPersister();
            bool didComplete = false;

            executor.ExhaustedQueue += (s, e) => didComplete = true;
            queue.Enqueue(ticket);

            executor.Start();

            int totalTime = 0;

            while (didComplete == false)
            {
                Thread.Sleep(1);
                totalTime += 1;
                if (totalTime > 10000)
                {
                    Assert.Fail("Did not complete job in less than 10s");
                }
            }

            Assert.IsTrue(worker.DidWork);
        }