Domanda

Questo link suggerisce di creare una classe base astratta in grado di leggere le informazioni sul lavoro mappa dei dati per Quartz.net e ciascuno dei posti di lavoro deriverà da questa classe di base.

http://quartznet.sourceforge.net/faq.html#howtochainjobs

Qualcuno mi può fornire un campione di questa classe di base perché non sono sicuro di come recuperare i dettagli di posti di lavoro nella classe di base e quindi chiamare il metodo Execute sulla classe derivata?

Pratik

È stato utile?

Soluzione

La creazione di una classe base astratta è solo un suggerimento dalla documentazione Quartz.NET, e non è un requisito per l'attuazione di concatenamento di posti di lavoro. Fondamentalmente essi sono suggerendo che se si desidera posti di lavoro a catena: "ajob" -> "BJob" -> "CJob", si dovrebbe fare qualcosa sulla falsariga di questo:

  1. Crea classe astratta "ChainBaseJob".

  2. Fai la tua categoria di lavoro (che sia ajob e BJob sono tipi di) ereditano da ChainBaseJob.

  3. ChainBaseJob conterrebbe una sorta di metodo come:

        string GetNextJobInChain()
    

... che sarebbe tornato il nome del lavoro (cioè il nome del lavoro al quarzo). C'è una varietà di modi per farlo utilizzare questo, ma credo che la documentazione sta suggerendo che i vostri controlli TriggerListener di vedere (durante il metodo completato lavoro) se un lavoro completato (diciamo "ajob") eredita da ChainBaseJob. Se lo fa, sarà il cast e chiamare GetNextJobInChain, e utilizzare il nome restituito dal metodo da chiamare l'utilità di pianificazione per eseguirlo al termine della ajob. Se tutto è implementato correttamente, il TriggerListener saprà eseguire BJob, dopo il completamento ajob.

In bocca al lupo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top