Exemple #1
0
 public Resque(IJobCreator jobCreator, IFailureService failureService, IRedis client)
 {
     JobCreator     = jobCreator;
     FailureService = failureService;
     Client         = client;
     Workers        = new List <Worker>();
 }
        public string Run(CreateContext context, IJobCreator creator)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            if (creator == null)
            {
                throw new ArgumentNullException("creator");
            }

            var filterInfo = GetFilters(context.Job);

            try
            {
                var createdContext = CreateWithFilters(context, creator, filterInfo.ClientFilters);
                return(createdContext.JobId);
            }
            catch (Exception ex)
            {
                var exceptionContext = new ClientExceptionContext(context, ex);

                InvokeExceptionFilters(exceptionContext, filterInfo.ClientExceptionFilters);
                if (!exceptionContext.ExceptionHandled)
                {
                    throw;
                }

                return(null);
            }
        }
Exemple #3
0
 public Resque(IJobCreator jobCreator, IFailureService failureService, IRedis client)
 {
     JobCreator = jobCreator;
     FailureService = failureService;
     Client = client;
     Workers = new List<Worker>();
 }
        public string Run(CreateContext context, IJobCreator creator)
        {
            if (context == null) throw new ArgumentNullException("context");
            if (creator == null) throw new ArgumentNullException("creator");

            var filterInfo = GetFilters(context.Job);

            try
            {
                var createdContext = CreateWithFilters(context, creator, filterInfo.ClientFilters);
                return createdContext.JobId;
            }
            catch (Exception ex)
            {
                var exceptionContext = new ClientExceptionContext(context, ex);

                InvokeExceptionFilters(exceptionContext, filterInfo.ClientExceptionFilters);
                if (!exceptionContext.ExceptionHandled)
                {
                    throw;
                }

                return null;
            }
        }
Exemple #5
0
 public JobController(
     IJobReader reader,
     IJobCreator creator,
     IJobDeleter deleter)
 {
     _reader  = reader;
     _creator = creator;
     _deleter = deleter;
 }
Exemple #6
0
        public Worker(IJobCreator locator, IFailureService failureService, IRedis client, params string[] queues)
        {
            JobCreator = locator;
            FailureService = failureService;
            Client = client;

            if(queues == null || queues.Length == 0)
                throw new ArgumentException("Invalid Queues");

            Queues = queues;
        }
Exemple #7
0
        public Worker(IJobCreator locator, IFailureService failureService, IRedis client, params string[] queues)
        {
            JobCreator     = locator;
            FailureService = failureService;
            Client         = client;

            if (queues == null || queues.Length == 0)
            {
                throw new ArgumentException("Invalid Queues");
            }

            Queues = queues;
        }
Exemple #8
0
        //===============================
        //  関数
        //===============================

        public DownloadProvider
        (
            ILoadDatabase loadDatabase,
            IStorageDatabase storageDatabase,
            IJobEngine dlEngine,
            IJobCreator jobCreator
        )
        {
            LoadDatabase    = loadDatabase;
            StorageDatabase = storageDatabase;
            JobEngine       = dlEngine;
            JobCreator      = jobCreator;
        }
Exemple #9
0
            public TestContext()
            {
                _fixture = new Fixture().Customize(new AutoRhinoMockCustomization());

                _jobId       = _fixture.Create <Guid>();
                _description = _fixture.Create <string>();
                _callbackUrl = _fixture.Create <string>();
                _httpVerb    = _fixture.Create <string>();
                _payload     = _fixture.Create <string>();
                _contentType = _fixture.Create <string>();
                _headers     = _fixture.Create <string>();

                _scheduler = _fixture.Freeze <IScheduler>();
                _now       = _fixture.Freeze <INow>();
                _sut       = _fixture.Create <JobCreator>();
            }
        private static CreatedContext CreateWithFilters(
            CreateContext context,
            IJobCreator creator,
            IEnumerable <IClientFilter> filters)
        {
            var preContext = new CreatingContext(context);
            Func <CreatedContext> continuation = () =>
            {
                var jobId = creator.CreateJob(context.Job, preContext.Parameters, context.InitialState);
                return(new CreatedContext(context, jobId, false, null));
            };

            var thunk = filters.Reverse().Aggregate(continuation,
                                                    (next, filter) => () => InvokeClientFilter(filter, preContext, next));

            return(thunk());
        }
        private static CreatedContext CreateWithFilters(
            CreateContext context,
            IJobCreator creator,
            IEnumerable<IClientFilter> filters)
        {
            var preContext = new CreatingContext(context);
            Func<CreatedContext> continuation = () =>
            {
                var jobId = creator.CreateJob(context.Job, preContext.Parameters, context.InitialState);
                return new CreatedContext(context, jobId, false, null);
            };

            var thunk = filters.Reverse().Aggregate(continuation,
                (next, filter) => () => InvokeClientFilter(filter, preContext, next));

            return thunk();
        }
Exemple #12
0
 public JobsController(IJobCreator jobCreator)
 {
     JobCreator = jobCreator ?? throw new ArgumentNullException(nameof(jobCreator));
 }