public void Schedule <TJob>(IScheduleJobManager scheduleJobManager, int siteId, Action <TriggerBuilder> configureTrigger) where TJob : JobBase { string groupName = GetJobGroup <TJob>(); string jobKey = GetJobKey <TJob>(siteId); bool isRunning = IsRunning <TJob>(siteId); if (!isRunning) { scheduleJobManager.ScheduleAsync <TJob, int>( job => { job.WithIdentity(jobKey, groupName); }, configureTrigger, siteId ); } var runningJob = new RunningJob { JobKey = jobKey, JobGroup = groupName, SiteId = siteId, LastScheduleTime = DateTime.UtcNow }; _runningJobCache.AddOrUpdate(jobKey, runningJob, (k, job) => { return(runningJob); }); }
public SchedulerBootstrap() { var dependencyResolver = new DependencyResolver(); dependencyResolver.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); new ApplicationServicesRegistrar(dependencyResolver).RegisterServices(); _scheduleJobManager = dependencyResolver.Resolve <IScheduleJobManager>(); _scheduleJobManager.ScheduleAsync <SchedulerJob>( job => { job.WithIdentity("ScheduleJobKey"); }, trigger => { trigger.WithSimpleSchedule(x => x.WithIntervalInMinutes(1).RepeatForever().WithMisfireHandlingInstructionIgnoreMisfires()) .Build(); }); }
public void Schedule <TJob>(IScheduleJobManager scheduleJobManager, SiteSocialAccount account, Action <TriggerBuilder> configureTrigger) where TJob : JobBase { string originalAccountId = !string.IsNullOrWhiteSpace(account.FacebookPageId) ? account.FacebookPageId : account.TwitterUserId; if (string.IsNullOrWhiteSpace(originalAccountId)) { return; } string groupName = GetJobGroup <TJob>(); string jobKey = GetJobKey <TJob>(account.SiteId, originalAccountId); bool isRunning = IsRunning <TJob>(account.SiteId, originalAccountId); if (!isRunning) { scheduleJobManager.ScheduleAsync <TJob, SiteSocialAccount>( job => { job.WithIdentity(jobKey, groupName); }, configureTrigger, account ); } var runningJob = new RunningJob { JobKey = jobKey, JobGroup = groupName, SiteId = account.SiteId, OriginalAccountId = originalAccountId, LastScheduleTime = DateTime.UtcNow }; _runningJobCache.AddOrUpdate(jobKey, runningJob, (k, job) => { return(runningJob); }); }
public void DoSomeStuff() { using (IUnitOfWorkCompleteHandle uow = _unitOfWorkManager.Begin()) { Logger.Debug("Uow Began!"); _personRepository.Insert(new Person("Oğuzhan")); _personRepository.Insert(new Person("Ekmek")); _animalRepository.Insert(new Animal("Kuş")); _animalRepository.Insert(new Animal("Kedi")); _animalDbContextProvider.GetDbContext().Animals.Add(new Animal("Kelebek")); _unitOfWorkManager.Current.SaveChanges(); Person personCache = _cacheManager.GetCache(DemoCacheName.Demo).Get("person", () => _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan")); Person person = _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan"); Animal animal = _animalRepository.FirstOrDefault(x => x.Name == "Kuş"); #region DAPPER var list = new List <string> { "elma", "armut" }; ExpressionStarter <Animal> predicate = PredicateBuilder.New <Animal>(); predicate.And(x => x.Name == "Kuş"); IEnumerable <Animal> birdsSet = _animalDapperRepository.GetSet(new { Name = "Kuş" }, 0, 10, "Id"); IEnumerable <Person> personFromDapper = _personDapperRepository.GetList(new { Name = "Oğuzhan" }); IEnumerable <Animal> birdsFromExpression = _animalDapperRepository.GetSet(predicate, 0, 10, "Id"); IEnumerable <Animal> birdsPagedFromExpression = _animalDapperRepository.GetListPaged(x => x.Name == "Kuş", 0, 10, "Name"); IEnumerable <Person> personFromDapperExpression = _personDapperRepository.GetList(x => x.Name.Contains("Oğuzhan")); int birdCount = _animalDapperRepository.Count(x => x.Name == "Kuş"); var personAnimal = _animalDapperRepository.Query <PersonAnimal>("select Name as PersonName,'Zürafa' as AnimalName from Person with(nolock) where name=@name", new { name = "Oğuzhan" }) .MapTo <List <PersonAnimalDto> >(); birdsFromExpression.ToList(); birdsPagedFromExpression.ToList(); birdsSet.ToList(); IEnumerable <Person> person2FromDapper = _personDapperRepository.Query("select * from Person with(nolock) where name =@name", new { name = "Oğuzhan" }); _personDapperRepository.Insert(new Person("oğuzhan2")); int id = _personDapperRepository.InsertAndGetId(new Person("oğuzhan3")); Person person3 = _personDapperRepository.Get(id); person3.Name = "oğuzhan4"; _personDapperRepository.Update(person3); _personDapperRepository.Delete(person3); #endregion Person person2Cache = _cacheManager.GetCache(DemoCacheName.Demo).Get("person", () => _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan")); Person oguzhan = _personRepository.Nolocking(persons => persons.FirstOrDefault(x => x.Name == "Oğuzhan")); Person oguzhan2 = _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan"); uow.Complete(); _messageBus.Publish <IPersonAddedMessage>(new PersonAddedMessage { Name = "Oğuzhan", CorrelationId = NewId.NextGuid() }); //_hangfireBackgroundJobManager.EnqueueAsync<SimpleBackgroundJob, SimpleBackgroundJobArgs>(new SimpleBackgroundJobArgs //{ // Message = "Oğuzhan" //}); _hangfireScheduleJobManager.ScheduleAsync <SimpleBackgroundJob, SimpleBackgroundJobArgs>(new SimpleBackgroundJobArgs { Message = "Oğuzhan" }, Cron.Minutely()); Logger.Debug("Uow End!"); } }