C# Quartz 3.0 przekazywanie połączenia

C# Quartz 3.0 przekazywanie połączenia
ZG
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • Postów:8
0

Witajcie, poszukuję przykładu (nawet odpłatnie) aplikacji która używa Quartz 3.0.
Działanie aplikacji:
-łączę się z bazą danych (button Start, uruchamia Quartza)
-uruchamiam Quartza i przekazuję połączenie do Execute
-wykonuję co 5 sekund Execute (operacje na bazie + API)
-kończę działanie programu (button Stop, kończy zadania i zamyka połączenie z bazą danych).

Nie wiem jak przekazać połączenie do Execute. Jakieś podpowiedzi?

edytowany 2x, ostatnio: zgrexs
mr-owl
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 lata
  • Postów:206
0

Witam,

Zdradzisz nam po co chcesz trzymać/przekazywać otwarte połączenie do bazy danych?

mr-owl

edytowany 1x, ostatnio: mr-owl
AdamWox
  • Rejestracja:około 8 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:Jastrzębie-Zdrój
  • Postów:2180
0

Za pomocą JobDataMap, który przekazujesz korzystając z UsingJobData()

Kopiuj
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler scheduler = schedFact.GetScheduler().Result;
scheduler.Start();

MyClass MyObj = new MyClass();

JobDataMap jobData = new JobDataMap();
jobData.Put("jobData", MyObj);

IJobDetail job = JobBuilder.Create<BackupJob>()
                .UsingJobData(jobData) 
                .Build();
ITrigger trigger = TriggerBuilder.Create()
                .WithCronSchedule(MyTimerConfiguration)
                .Build();

scheduler.ScheduleJob(job, trigger);

Po stronie Execute()

Kopiuj
MyClass _myObj = (MyClass)context.JobDetail.JobDataMap["jobData"]; //Odczytanie obiektu
mr-owl
I po pewnym czasie nastapi TimeOut polaczenia i bedzie problem...
AdamWox
Zrobi drugiego posta. Będziemy się martwić jak to nastąpi ;-)
ZG
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • Postów:8
0

Dzięki za porady :)

JP
  • Rejestracja:około 8 lat
  • Ostatnio:11 miesięcy
  • Postów:1065
0

Popieram Pana Sowę. Jeśli nie masz powodu, realnego, żeby to robić to bez sensu.

AdamWox
Mnie się wydaje, że powodem jest asynchroniczność Quartza. To jest to samo co w Comarch Optima. Ciołki z Optimy mi potwierdziły, że logowanie może być tylko w jednym wątku i żeby zalogować się znowu to pierwszy wątek musi być zakończony. Kolega usunął posta, ale loguje się do Subiekta, więc może mieć tą samą przypadłość

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.