Merhaba,
Abp.Quartz ile oluşturduğum schedule IIS timeout süresi dolduğunda aşağıdaki gibi kendini kapatıyor.
INFO 2019-05-31 12:44:39,214 [45 ] soft.AspNetCore.Hosting.Internal.WebHost - Request starting HTTP/1.1 POST http://127.0.0.1:40864/iisintegration 0 INFO 2019-05-31 12:44:39,215 [45 ] soft.AspNetCore.Hosting.Internal.WebHost - Request finished in 0.6502ms 202 DEBUG 2019-05-31 12:44:39,222 [50 ] Abp.Modules.AbpModuleManager - Shutting down has been started DEBUG 2019-05-31 12:44:39,225 [50 ] Abp.BackgroundJobs.BackgroundJobManager - Stop background worker: Abp.BackgroundJobs.BackgroundJobManager DEBUG 2019-05-31 12:44:39,225 [50 ] Abp.Quartz.QuartzScheduleJobManager - Stop background worker: Abp.Quartz.QuartzScheduleJobManager
Benim schedule ortalama 4 saat çalışmaktadır. IIS timeout süresini arttırmadan bu sorunu nasıl çözebiliriz ?
İyi çalışmalar
12 Answer(s)
-
1
Merhaba,
Eğer bu tip işlemleri IIS'de çalışan web siteniz üzerinde yapmak istiyorsanız, IIS'deki ilgili AppPool'u AlwaysOn olarak işaretlemeniz gerekiyor:
Bunu yapmaya yetkiniz yok ise, bir windows servisi üzerinde çalışacak bir background job ile yapmanızı tavsiye ederim.
Bu şekilde yapmak isterseniz, aşağıdaki linkteki console uygulamasına benzer bir windows servisi oluşturabilirsiniz:
https://github.com/aspnetboilerplate/aspnetboilerplate-samples/tree/master/AbpEfConsoleApp
-
0
Merhaba, Ayrı bir console uygulaması bizim için daha iyi fakat projeyi başka bir projede resolve edemediğimiz için içerde çalıştırmıştık. Yollamış olduğunuz örnekteki gibi entity framework ü tekrar entegre edip kullanmak mı mantıklı yoksa Core katmanında oluşturduğumuz manager ve repository sınıflarını direkt kullanamak mı daha doğru olur sizce ?
-
1
Merhaba,
Core tarafında oluşturduğunuz manager ve repository sınıflarınımutlaka kullanmanız gerekiyor, yoksa code tekrarı yapmanız gerekeccektir.
Ben sadece örnek bir console uygulamasını nasıl oluşturabileceğinizi göstermek için bu örneği payşaltım. Eğer Console uygulaması oluştururken sorun yaşarsanız biz yardımcı olmaya çalışırız.
Teşekkürler,
-
0
Merhaba, Schedule için bir console uygulaması oluşturuyorum. GoCoreModule deki maanger ve repository kullanacak şekilde. Fakat IHostingEnvironment gibi katmanlar resolve olamıyor. Aşağıdaki şekilde hata alıyorum. Nerede hata yapıyorum yardımcı olabilir misiniz ?
[DependsOn(typeof(GoCoreModule))] public class GoScheduleModule : AbpModule { public override void Initialize() { IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); } public override void PostInitialize() { //Configuration.IocManager.Resolve<GoJobScheduler>().Start(); } } ----------------Program.cs--------------------- class Program { static void Main(string[] args) { using (var bootstrapper = AbpBootstrapper.Create<GoScheduleModule>()) { bootstrapper.Initialize(); using (var jobs = bootstrapper.IocManager.ResolveAsDisposable<GoJobScheduler>()) { jobs.Object.Start(); } Console.WriteLine("Press enter to exit..."); Console.ReadLine(); } } } public class GoJobScheduler : ISingletonDependency { //private readonly IQuartzScheduleJobManager _jobManager; //private readonly IConfigurationRoot _appConfiguration; //public GoJobScheduler(IQuartzScheduleJobManager jobManager, IHostingEnvironment env) //{ // _jobManager = jobManager; // _appConfiguration = env.GetAppConfiguration(); //} } Fakat IHostingEnvironment gibi katmanlar resolve olamıyor. AŞağıdaki şekilde hata alıyorum. ![11.JPG](/QA/files/72d4f3ee9c9db59fff2839ee6d424e23.JPG)
-
0
-
0
Merhaba,
IHostingEnvironment sadece web projeleri için kullanılabilir. Bunun yerine şuradaki gibi yapabilirsiniz: https://github.com/aspnetzero/aspnet-zero-core/blob/dev/aspnet-core/src/MyCompanyName.AbpZeroTemplate.Migrator/AbpZeroTemplateMigratorModule.cs#L22
-
0
-
0
Merhaba,
Bununla ilgili bir örneğiniz var mı acaba ?
İyi çalışmalar
-
0
Merhaba,
Console uygulamanızdaki Module hangi modüllere depend oluyor onları yazabilir misiniz ? Eğer bu örnek uygulamayı [email protected] adresine gönderirseniz, sizin için bu hatayı düzeltebiliriz.
Teşekkürler,
-
0
Merhaba,
Console uygulamama sadece Go.Core modulünu depend ettim. Go.Core modulü ise kendi içinde orjinal olarak indirdiğimiz katmanlar var.(AbpQuartz,AbpEmail vb..)
Siz örnek olarak panelden indirdiğimiz projenin (Asp.Net Core & Angular) Core katmanındaki Repository ve Manager lari resolve ederek kullanılabilen çok sade bir console uygulamas örnek yapabilir misiniz ?
İyi çalışmalar
-
0
Merhaba,
Bu konuda yardımınızı bekliyoruz.
-
0
Merhaba,
Sizin için şöyle bir demo hazırladık https://github.com/aspnetzero/aspnet-zero-samples/tree/master/ConsoleAppDemo. Buradaki Console uygulamasında Quartz'ı çalıştırabilirsiniz.