public void TestSweep()
        {
            int count = JobSweeper.SweepSubmitQueue(5000, 5);

            Assert.AreEqual(count, 5);
            using (TurbineModelContainer container = new TurbineModelContainer())
            {
                count = container.Jobs.Count(s => s.State == "expired");
            }

            Assert.AreEqual(count, 5);
            using (TurbineModelContainer container = new TurbineModelContainer())
            {
                jobCount = container.Jobs.Count();
                foreach (Job obj in container.Jobs.OrderBy(s => s.Submit))
                {
                    Console.WriteLine(String.Format("job({0}) submit {1} state {2}", obj.Id, obj.Submit, obj.State));
                }
                container.SaveChanges();
            }

            count = JobSweeper.SweepSubmitQueue(5000, 5);
            Assert.AreEqual(count, 5);
            using (TurbineModelContainer container = new TurbineModelContainer())
            {
                count = container.Jobs.Count(s => s.State == "expired");
            }
            Assert.AreEqual(count, 10);
        }
Example #2
0
        void ScheduledSweep()
        {
            int count;

            while (true)
            {
                count = JobSweeper.SweepSubmitQueue(expiredMS, maxMoveExpired);
                Debug.WriteLine("Submit Jobs moved to expired: " + count, this.GetType());

                count = JobSweeper.SweepCreate(expiredMS, maxMoveExpired);
                Debug.WriteLine("Create Jobs moved to expired: " + count, this.GetType());

                //
                // NOTE: Dangerous possibilities need to
                //   verify consumer has failed and possibly
                //   kill hanging process.

                JobSweeper.SweepSetup(expiredMS);
                //JobSweeper.SweepRunning(expiredMS);

                Thread.Sleep(timeOut);
            }
        }