public void InsertDelayedTask () { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor (5, Executors.DefaultThreadFactory ()); double t1 = 0; double t2 = 0; DateTime tim1 = DateTime.Now; e.Schedule (new RunnableAction (delegate { t1 = (DateTime.Now - tim1).TotalMilliseconds; }),100, TimeUnit.MILLISECONDS); Thread.Sleep (20); DateTime tim2 = DateTime.Now; e.Schedule (new RunnableAction (delegate { t2 = (DateTime.Now - tim2).TotalMilliseconds; }),50, TimeUnit.MILLISECONDS); Thread.Sleep (150); Assert.IsTrue (t2 >= 50, "Elapsed: " + t2); Assert.IsTrue (t2 < 50 + delayDif, "Elapsed: " + t2); Assert.IsTrue (t1 >= 100, "Elapsed: " + t1); Assert.IsTrue (t1 < 100 + delayDif, "Elapsed: " + t1); e.ShutdownNow (); }
public void InsertDelayedTask() { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor(5, Executors.DefaultThreadFactory()); double t1 = 0; double t2 = 0; DateTime tim1 = DateTime.Now; e.Schedule(new RunnableAction(delegate { t1 = (DateTime.Now - tim1).TotalMilliseconds; }), 100, TimeUnit.MILLISECONDS); Thread.Sleep(20); DateTime tim2 = DateTime.Now; e.Schedule(new RunnableAction(delegate { t2 = (DateTime.Now - tim2).TotalMilliseconds; }), 50, TimeUnit.MILLISECONDS); Thread.Sleep(150); Assert.IsTrue(t2 >= 50, "Elapsed: " + t2); Assert.IsTrue(t2 < 50 + delayDif, "Elapsed: " + t2); Assert.IsTrue(t1 >= 100, "Elapsed: " + t1); Assert.IsTrue(t1 < 100 + delayDif, "Elapsed: " + t1); e.ShutdownNow(); }
public void ShutdownNow() { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor(5, Executors.DefaultThreadFactory()); bool run = false; e.Schedule(new RunnableAction(delegate { run = true; }), 100, TimeUnit.MILLISECONDS); Thread.Sleep(50); var pending = e.ShutdownNow(); Assert.AreEqual(0, pending.Count); Assert.IsTrue(e.IsShutdown()); Assert.IsTrue(e.IsTerminated(), "Terminated"); Assert.IsFalse(e.IsTerminating(), "Terminating"); Thread.Sleep(100); Assert.IsFalse(run); Assert.IsTrue(e.IsTerminated(), "Terminated"); Assert.IsFalse(e.IsTerminating(), "Terminating"); }
public void DelayedTask () { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor (5, Executors.DefaultThreadFactory ()); DateTime tim = DateTime.Now; var future = e.Schedule (new RunnableAction (delegate { Console.WriteLine ("t1"); }),50, TimeUnit.MILLISECONDS); future.Get (); double elapsed = (DateTime.Now - tim).TotalMilliseconds; Assert.IsTrue (elapsed >= 50, "Elapsed: " + elapsed); Assert.IsTrue (elapsed < 60 + delayDif, "Elapsed: " + elapsed); e.ShutdownNow (); }
public void DelayedTask() { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor(5, Executors.DefaultThreadFactory()); DateTime tim = DateTime.Now; var future = e.Schedule(new RunnableAction(delegate { Console.WriteLine("t1"); }), 50, TimeUnit.MILLISECONDS); future.Get(); double elapsed = (DateTime.Now - tim).TotalMilliseconds; Assert.IsTrue(elapsed >= 50, "Elapsed: " + elapsed); Assert.IsTrue(elapsed < 60 + delayDif, "Elapsed: " + elapsed); e.ShutdownNow(); }
public void ShutdownNow () { ScheduledThreadPoolExecutor e = new ScheduledThreadPoolExecutor (5, Executors.DefaultThreadFactory ()); bool run = false; e.Schedule (new RunnableAction (delegate { run = true; }),100, TimeUnit.MILLISECONDS); Thread.Sleep (50); var pending = e.ShutdownNow (); Assert.AreEqual (0, pending.Count); Assert.IsTrue (e.IsShutdown ()); Assert.IsTrue (e.IsTerminated (), "Terminated"); Assert.IsFalse (e.IsTerminating (), "Terminating"); Thread.Sleep (100); Assert.IsFalse (run); Assert.IsTrue (e.IsTerminated (), "Terminated"); Assert.IsFalse (e.IsTerminating (), "Terminating"); }
/// <exception cref="System.Exception"/> protected override void ServiceStop() { Log.Info("Stopping JobHistory"); if (scheduledExecutor != null) { Log.Info("Stopping History Cleaner/Move To Done"); scheduledExecutor.Shutdown(); bool interrupted = false; long currentTime = Runtime.CurrentTimeMillis(); while (!scheduledExecutor.IsShutdown() && Runtime.CurrentTimeMillis() > currentTime + 1000l && !interrupted) { try { Sharpen.Thread.Sleep(20); } catch (Exception) { interrupted = true; } } if (!scheduledExecutor.IsShutdown()) { Log.Warn("HistoryCleanerService/move to done shutdown may not have " + "succeeded, Forcing a shutdown" ); scheduledExecutor.ShutdownNow(); } } if (storage != null && storage is Org.Apache.Hadoop.Service.Service) { ((Org.Apache.Hadoop.Service.Service)storage).Stop(); } if (hsManager != null) { hsManager.Stop(); } base.ServiceStop(); }