Qualcosa su cui non sono chiaro. Supponiamo che i lavori siano programmati casualmente durante il giorno e che ogni lavoro impieghi 30 minuti per essere eseguito. Diciamo che ho cinque di questi lavori in esecuzione e Tomcat viene ucciso. I lavori vengono riavviati quando avvio Tomcat con la mia applicazione o i lavori attualmente in esecuzione vengono persi perché sono già stati attivati?Quartz attualmente in esecuzione quando Tomcat viene ucciso
risposta
Risposta breve, per impostazione predefinita, lavori attualmente in esecuzione sono considerati licenziato e non vengono recuperati
.. ma è possibile impostare requestRecovery proprietà quando si crea un lavoro (JobDetail) per dire al quarzo di recuperare quel esecuzione di lavori in caso di arresto anomalo, ad esempio "arresto anomalo".
Citando la documentazione ufficiale here nella parte inferiore della pagina:
RequestsRecovery - se un lavoro "richieste di recupero", ed è l'esecuzione durante il tempo di un 'arresto duro' del scheduler (vale a dire il processo in cui è in esecuzione all'interno di arresti anomali, o la macchina è spenta), quindi viene rieseguita quando lo scheduler viene avviato di nuovo. In questo caso, il metodoJobExecutionContext.isRecovering() restituirà true.
Così si può fare per exemple:
import static org.quartz.JobBuilder.*;
...
JobDetail job = newJob(MyJob.class)
.withIdentity("myJob", "group1")
.requestRecovery(true) //This is the guy!
.build();
...
Tomcat non si cura del tuo lavoro. È tuo compito terminare correttamente il lavoro nella tua webapp quando viene spento.
- 1. PhpUnit ... Ucciso Perché viene ucciso?
- 2. Il thread viene ucciso dall'OS
- 3. Ottenere un elenco di tutti i lavori attualmente in esecuzione in un cluster con Quartz
- 4. gulp viene ucciso irregolarmente
- 5. Integrazione di Tomcat e Quartz Scheduler all'avvio
- 6. Allarme in AlarmManager si cancella quando il processo viene ucciso
- 7. Android: mantieni servizio in esecuzione quando l'app viene uccisa
- 8. Query attualmente in esecuzione in SQL Server
- 9. Cancella back stack quando l'oggetto dell'applicazione viene ucciso dal sistema
- 10. Quando un processo genitore viene ucciso da "kill -9", anche il sottoprocesso verrà ucciso?
- 11. pid del processo attualmente in esecuzione
- 12. Ottieni l'istanza dell'attività attualmente in esecuzione?
- 13. Percorso dello script PowerShell attualmente in esecuzione
- 14. È possibile rilevare quando un thread in background viene ucciso dall'applicazione quando l'applicazione si chiude?
- 15. Il processo al quarzo viene eseguito due volte quando viene distribuito su tomcat 6/Ubuntu 10.04LTS
- 16. Come rilevare che l'audio è attualmente in esecuzione in Linux?
- 17. come vedere quale codice javascript è attualmente in esecuzione?
- 18. Perché il mio script python viene ucciso a caso?
- 19. Come posso trovare l'eseguibile PHP attualmente in esecuzione?
- 20. Quartz in Webapplication
- 21. . Netto: codice in esecuzione quando viene caricato l'assembly
- 22. Visualizza il nome della funzione attualmente in esecuzione
- 23. Servizio Android ucciso
- 24. È l'ultimo elemento `script` lo script attualmente in esecuzione?
- 25. Come ottenere gli extra dell'attività attualmente in esecuzione tramite ADB
- 26. Come ottenere il percorso della DLL attualmente in esecuzione?
- 27. Il contesto dell'applicazione viene ucciso ma l'attività non è
- 28. Il plugin quarzo Grails non funziona quando distribuito in Tomcat
- 29. I frammenti rimangono dopo che Activity viene ucciso e ricreato
- 30. Ottieni l'URL del file js attualmente in esecuzione quando caricato dinamicamente
quello che sono dopo è non quarzo riprovare i posti di lavoro che sono stati in corso di esecuzione o non quarzo buttarli via, nel senso di quarzo non può in modo pulito recuperare da un blocco della JVM dove un utente non ha mezzi per "terminare correttamente il lavoro" – user671731