SYMBOL INDEX (184 symbols across 35 files) FILE: src/WebBackgrounder.DemoWeb/App_Start/EntityFramework.SqlServerCompact.cs class EntityFramework_SqlServerCompact (line 7) | public static class EntityFramework_SqlServerCompact { method Start (line 8) | public static void Start() { FILE: src/WebBackgrounder.DemoWeb/App_Start/WebBackgrounderSetup.cs class WebBackgrounderSetup (line 10) | public static class WebBackgrounderSetup method Start (line 14) | public static void Start() method Shutdown (line 19) | public static void Shutdown() method CreateJobWorkersManager (line 24) | private static JobManager CreateJobWorkersManager() FILE: src/WebBackgrounder.DemoWeb/Controllers/HomeController.cs class HomeController (line 6) | public class HomeController : Controller method Index (line 10) | public ActionResult Index() FILE: src/WebBackgrounder.DemoWeb/ExceptionJob.cs class ExceptionJob (line 6) | public class ExceptionJob : Job method ExceptionJob (line 8) | public ExceptionJob(TimeSpan interval) method Execute (line 13) | public override Task Execute() FILE: src/WebBackgrounder.DemoWeb/Global.asax.cs class MvcApplication (line 10) | public class MvcApplication : HttpApplication method RegisterGlobalFilters (line 12) | public static void RegisterGlobalFilters(GlobalFilterCollection filters) method RegisterRoutes (line 17) | public static void RegisterRoutes(RouteCollection routes) method Application_Start (line 29) | protected void Application_Start() FILE: src/WebBackgrounder.DemoWeb/SampleJob.cs class SampleJob (line 7) | public class SampleJob : Job method SampleJob (line 9) | public SampleJob(TimeSpan interval, TimeSpan timeout) method Execute (line 14) | public override Task Execute() FILE: src/WebBackgrounder.EntityFramework/Entities/IWorkItemsContext.cs type IWorkItemsContext (line 6) | public interface IWorkItemsContext : IDisposable method SaveChanges (line 9) | int SaveChanges(); FILE: src/WebBackgrounder.EntityFramework/Entities/WorkItem.cs class WorkItem (line 6) | public class WorkItem : IWorkItem FILE: src/WebBackgrounder.EntityFramework/Entities/WorkItemsContext.cs class WorkItemsContext (line 5) | public class WorkItemsContext : DbContext, IWorkItemsContext FILE: src/WebBackgrounder.EntityFramework/EntityWorkItemRepository.cs class EntityWorkItemRepository (line 8) | public class EntityWorkItemRepository : IWorkItemRepository, IDisposable method EntityWorkItemRepository (line 13) | public EntityWorkItemRepository(Func contextThunk) method RunInTransaction (line 19) | public void RunInTransaction(Action query) method GetLastWorkItem (line 35) | public IWorkItem GetLastWorkItem(IJob job) method CreateWorkItem (line 43) | public long CreateWorkItem(string workerId, IJob job) method SetWorkItemCompleted (line 57) | public void SetWorkItemCompleted(long workItemId) method SetWorkItemFailed (line 64) | public void SetWorkItemFailed(long workItemId, Exception exception) method GetWorkItem (line 72) | private WorkItem GetWorkItem(long workerId) method Dispose (line 77) | public void Dispose() FILE: src/WebBackgrounder.EntityFramework/WorkItemCleanupJob.cs class WorkItemCleanupJob (line 7) | public class WorkItemCleanupJob : Job method WorkItemCleanupJob (line 11) | public WorkItemCleanupJob(TimeSpan interval, TimeSpan spanToKeepRecord... method Execute (line 32) | public override Task Execute() FILE: src/WebBackgrounder.UnitTests/EntityWorkItemRepositoryFacts.cs class EntityWorkItemRepositoryFacts (line 9) | public class EntityWorkItemRepositoryFacts class TheGetLastWorkItemMethod (line 11) | public class TheGetLastWorkItemMethod method ReturnsActiveWorkItemWhenAWorkerHasNoCompletedDate (line 13) | [Fact] method ReturnsLastInactiveWorkItemWhenAllWorkItemsHaveCompletedDate (line 36) | [Fact] method ReturnsNullWhenNoWorkItemsReturnedForGivenJob (line 68) | [Fact] class TheCreateWorkItemMethod (line 92) | public class TheCreateWorkItemMethod method CreatesNewWorkItemThatIsNotComplete (line 94) | public void CreatesNewWorkItemThatIsNotComplete() class TheSetWorkItemCompleteMethod (line 115) | public class TheSetWorkItemCompleteMethod method SetsWorkItemCompletedSetsCompletedDate (line 117) | [Fact] method SavesChanges (line 133) | [Fact] class TheSetWorkItemFailedMethod (line 149) | public class TheSetWorkItemFailedMethod method SetsWorkItemFailedSetsCompletedDateAndExceptionInfo (line 151) | [Fact] method SavesChanges (line 168) | [Fact] FILE: src/WebBackgrounder.UnitTests/InMemoryDbSet.cs class InMemoryDbSet (line 11) | public class InMemoryDbSet : IDbSet where TEntity : class method InMemoryDbSet (line 16) | public InMemoryDbSet() method InMemoryDbSet (line 21) | public InMemoryDbSet(IEnumerable entities) method Add (line 31) | public TEntity Add(TEntity entity) method Attach (line 37) | public TEntity Attach(TEntity entity) method Remove (line 43) | public TEntity Remove(TEntity entity) method Create (line 49) | public virtual TDerivedEntity Create() where TDerivedE... method Create (line 54) | public virtual TEntity Create() method Find (line 59) | public virtual TEntity Find(params object[] keyValues) method GetEnumerator (line 69) | public IEnumerator GetEnumerator() method GetEnumerator (line 74) | IEnumerator IEnumerable.GetEnumerator() FILE: src/WebBackgrounder.UnitTests/JobHostFacts.cs class JobHostFacts (line 8) | public class JobHostFacts class TheStopMethod (line 10) | public class TheStopMethod method EnsuresNoWorkIsDone (line 12) | [Fact] method WaitsForTaskToComplete (line 23) | [Fact] class TheDoWorkMethod (line 50) | public class TheDoWorkMethod method ThrowsArgumentNullExceptionIfWorkIsNull (line 52) | [Fact] method DoesNotCallStartIfWorkIsAlreadyScheduledOrCompleted (line 62) | [Fact] FILE: src/WebBackgrounder.UnitTests/JobManagerFacts.cs class JobManagerFacts (line 10) | public class JobManagerFacts class TheConstructor (line 12) | public class TheConstructor method ThrowsExceptionWhenAnyParameterIsNull (line 14) | [Fact] class TheStartMethod (line 23) | public class TheStartMethod method GetsTheJobDone (line 25) | [Fact] method GetsTheJobsDoneInTheRightOrder (line 42) | [Fact] method DoesNotThrowExceptionWhenThereIsNoWorkToDo (line 70) | [Fact] method SchedulerRestartsWhenJobFailsAndRestartSchedulerIsTrue (line 95) | [Fact] method SchedulerDoesNotRestartWhenJobFailsAndRestartSchedulerIsFalse (line 116) | [Fact] FILE: src/WebBackgrounder.UnitTests/ScheduleFacts.cs class ScheduleFacts (line 8) | public class ScheduleFacts class TheNextRunTimeProperty (line 10) | public class TheNextRunTimeProperty method ReturnsIntervalAddedToLastRunTime (line 12) | [Fact] class TheGetIntervalToNextRunMethod (line 26) | public class TheGetIntervalToNextRunMethod method ReturnsTheSpanBetweenNowAndNextRunTime (line 28) | [Fact] method ReturnsTheSpanBetweenNowAndNextRunTimeFiguringInLastRun (line 41) | [Fact] method ReturnsOneMillisecondTimeSpanWhenNextRunIsInThePast (line 55) | [Fact] method ShrinksOverTimeEvenWhenLastRunIsNull (line 67) | [Fact] class TheConstructor (line 84) | public class TheConstructor method SetsTheJob (line 86) | [Fact] method ThrowsArgumentNullExceptionForNullJob (line 97) | [Fact] class TheDisposeMethod (line 104) | public class TheDisposeMethod method SetsLastRunTimeToNow (line 106) | [Fact] FILE: src/WebBackgrounder.UnitTests/SchedulerFacts.cs class SchedulerFacts (line 10) | public class SchedulerFacts class TheNextMethod (line 12) | public class TheNextMethod method ReturnsTheScheduleWithTheLowestRunTime (line 14) | [Fact] method ReturnsTheCorrectNextScheduleWhenRunComplete (line 31) | [Fact] method TasksAreScheduledFairly (line 66) | [Fact] class WaitJob (line 99) | private class WaitJob : Job method WaitJob (line 101) | public WaitJob(int intervalSeconds) : base("Waits", TimeSpan.FromS... method Execute (line 108) | public override Task Execute() class TheConstructor (line 115) | public class TheConstructor method ThrowsExceptionWhenAnyJobHasNegativeInterval (line 117) | [Fact] FILE: src/WebBackgrounder.UnitTests/WebFarmJobCoordinatorFacts.cs class WebFarmJobCoordinatorFacts (line 9) | public class WebFarmJobCoordinatorFacts class TheReserveWorkMethod (line 11) | public class TheReserveWorkMethod method ReturnsNullWhenActiveWorkersExistAndIsNotTimedOut (line 13) | [Fact] method ReturnsNullWhenActiveWorkersExistWithinTransaction (line 26) | [Fact] method ReturnsUnitOfWorkWhenNoActiveWorkers (line 47) | [Fact] method ReturnsUnitOfWorkWhenLastActiveWorkerIsTimedOut (line 62) | [Fact] class TheGetWorkMethod (line 82) | public class TheGetWorkMethod method WithJobThatThrowsExceptionWhenCreatingTaskStillReturnsTask (line 84) | [Fact] method WithNullJobThrowsArgumentNullException (line 101) | [Fact] class TheCtor (line 113) | public class TheCtor method WithNullWorkItemRepositoryThrowsArgumentNullException (line 115) | [Fact] class FakeJob (line 124) | class FakeJob : IJob method Execute (line 132) | public Task Execute() FILE: src/WebBackgrounder.UnitTests/WorkItemCleanupJobFacts.cs class WorkItemCleanupJobFacts (line 9) | public class WorkItemCleanupJobFacts class TheExecuteMethod (line 11) | public class TheExecuteMethod method DeletesItemsOlderThanSpecifiedTimeSpan (line 13) | [Fact] method DoesNothingWhenAllRecordsAreWithinKeepRecordsSpan (line 37) | [Fact] FILE: src/WebBackgrounder.UnitTests/WorkItemExtensionsFacts.cs class WorkItemExtensionsFacts (line 7) | public class WorkItemExtensionsFacts class TheIsActiveMethod (line 9) | public class TheIsActiveMethod method ReturnsTrueForIncomplete (line 11) | [Fact] method ReturnsFalseForComplete (line 22) | [Fact] method ReturnsFalseForNullWorkItem (line 33) | [Fact] class TheIsTimedOutMethod (line 40) | public class TheIsTimedOutMethod method ReturnsTrueWhenWorkItemIsPastJobExpirationTimespan (line 42) | [Fact] method ReturnsFalseWhenWorkItemIsWithinJobExpirationTimespan (line 56) | [Fact] method ReturnsFalseWhenWorkItemIsNull (line 70) | [Fact] method ThrowsArgumentNullExceptionWhenJobIsNull (line 78) | [Fact] FILE: src/WebBackgrounder/IJob.cs type IJob (line 6) | public interface IJob method Execute (line 13) | Task Execute(); FILE: src/WebBackgrounder/IJobCoordinator.cs type IJobCoordinator (line 6) | public interface IJobCoordinator : IDisposable method GetWork (line 13) | Task GetWork(IJob job); FILE: src/WebBackgrounder/IJobHost.cs type IJobHost (line 10) | public interface IJobHost method DoWork (line 12) | void DoWork(Task work); FILE: src/WebBackgrounder/IWorkItem.cs type IWorkItem (line 5) | public interface IWorkItem FILE: src/WebBackgrounder/IWorkItemRepository.cs type IWorkItemRepository (line 5) | public interface IWorkItemRepository : IDisposable method RunInTransaction (line 7) | void RunInTransaction(Action query); method GetLastWorkItem (line 8) | IWorkItem GetLastWorkItem(IJob job); method CreateWorkItem (line 9) | long CreateWorkItem(string workerId, IJob job); method SetWorkItemCompleted (line 10) | void SetWorkItemCompleted(long workItemId); method SetWorkItemFailed (line 11) | void SetWorkItemFailed(long workItemId, Exception exception); FILE: src/WebBackgrounder/Job.cs class Job (line 6) | public abstract class Job : IJob method Job (line 8) | protected Job(string name, TimeSpan interval, TimeSpan timeout) method Job (line 15) | protected Job(string name, TimeSpan interval) : this(name, interval, T... method Execute (line 23) | public abstract Task Execute(); FILE: src/WebBackgrounder/JobHost.cs class JobHost (line 7) | public class JobHost : IJobHost, IRegisteredObject method JobHost (line 12) | public JobHost() method Stop (line 17) | public void Stop(bool immediate) method DoWork (line 26) | public void DoWork(Task work) FILE: src/WebBackgrounder/JobManager.cs class JobManager (line 8) | public class JobManager : IDisposable method JobManager (line 19) | public JobManager(IEnumerable jobs, IJobHost host) : this(jobs, ... method JobManager (line 21) | public JobManager(IEnumerable jobs, IJobCoordinator coordinator)... method JobManager (line 23) | public JobManager(IEnumerable jobs, IJobHost host, IJobCoordinat... method Start (line 45) | public void Start() method Stop (line 50) | public void Stop() method OnTimerElapsed (line 55) | void OnTimerElapsed(object sender) method DoNextJob (line 74) | void DoNextJob() method Dispose (line 87) | public void Dispose() method Fail (line 98) | public void Fail(Action failHandler) method OnException (line 103) | void OnException(Exception e) FILE: src/WebBackgrounder/JobUnitOfWork.cs class JobUnitOfWork (line 5) | public class JobUnitOfWork method JobUnitOfWork (line 10) | public JobUnitOfWork(IWorkItemRepository repository, long workItemId) method Complete (line 16) | public void Complete() method Fail (line 21) | public void Fail(Exception exception) FILE: src/WebBackgrounder/Schedule.cs class Schedule (line 5) | public class Schedule : IDisposable method Schedule (line 9) | public Schedule(IJob job) method Schedule (line 14) | public Schedule(IJob job, Func nowThunk) method GetIntervalToNextRun (line 40) | public TimeSpan GetIntervalToNextRun() method SetRunComplete (line 50) | public void SetRunComplete() method Dispose (line 55) | void IDisposable.Dispose() FILE: src/WebBackgrounder/Scheduler.cs class Scheduler (line 7) | public class Scheduler method Scheduler (line 11) | public Scheduler(IEnumerable jobs, Func nowThunk) method Scheduler (line 21) | public Scheduler(IEnumerable jobs) : this(jobs, () => DateTime.U... method Next (line 25) | public Schedule Next() FILE: src/WebBackgrounder/SingleServerJobCoordinator.cs class SingleServerJobCoordinator (line 5) | public class SingleServerJobCoordinator : IJobCoordinator method GetWork (line 7) | public Task GetWork(IJob job) method Dispose (line 12) | public void Dispose() FILE: src/WebBackgrounder/TimerExtensions.cs class TimerExtensions (line 6) | public static class TimerExtensions method Stop (line 8) | public static void Stop(this Timer timer) method Next (line 13) | public static void Next(this Timer timer, TimeSpan dueTime) FILE: src/WebBackgrounder/WebFarmJobCoordinator.cs class WebFarmJobCoordinator (line 9) | public class WebFarmJobCoordinator : IJobCoordinator method WebFarmJobCoordinator (line 14) | public WebFarmJobCoordinator(IWorkItemRepository workItemRepository) method GetWork (line 25) | public Task GetWork(IJob job) method ReserveWork (line 64) | public JobUnitOfWork ReserveWork(string workerId, IJob job) method Dispose (line 105) | public void Dispose() FILE: src/WebBackgrounder/WorkItemExtensions.cs class WorkItemExtensions (line 5) | public static class WorkItemExtensions method IsActive (line 7) | public static bool IsActive(this IWorkItem workItem) method IsTimedOut (line 12) | public static bool IsTimedOut(this IWorkItem workItem, IJob job)