Я использую кварц: 1.0.2 в нескольких проектах.
Я не сохраняю свою работу, я присваиваю каждой работе уникальное имя.Затем я сохраняю состояние своей работы в домене, который я создаю для отслеживания состояния задания.
Например, секция execute моей работы находит свой домен отслеживания состояния, используя jobName, который является уникальным значением, которое я загружаюиз файлов свойств для каждой из моих работ.Затем я передаю экземпляр FileImporter, связанный с этим заданием, моей службе, которая выполняет все условные состояния задания.
FileImporter fileImporter1 = FileImporter.findByName(jobName);
fileImporterService.importWhileEnabled(fileImporter1);
Моя служба не является транзакционной, поскольку я хочу, чтобы состояние задания немедленно сохранялось,Таким образом, если я перезапущу свое приложение, последнее состояние задания известно, и я смогу продолжить с того момента, на котором оно было остановлено.
Однако обычно я просто сбрасываю состояние задания, чтобы оно начиналось заново с самого начала послеперезапуск веб-сервера.
В моем сервисе я использую
static transactional = false
и сразу сохраняю состояние с помощью flush: true
fileImporter.save(failOnError: true, flush: true);