11.02.2021, 17:08 | #1 |
Участник
|
ax2009, ax2012, RunBaseBatch: как записать результаты выполнения в BatchJobHistory.Caption?
Я щас глупый вещь спрошу (сам еще не копался, вдруг кто навскидку знает)
есть пакетник, который барабанит периодически пакетник выводит сводную информацию в инфолог (типа обновлено столько то записей) вопрос: а можно ли поместить эту информацию в Журнал пакетных заданий (BatchJobHistory.Caption)? понятно, что где-то в конце метода run должно быть что-то вроде X++: if( this.isInBatch() ) { this.batchInfo().parmCaption(strfmt('summary: %1', summryInfo))); } |
|
11.02.2021, 17:22 | #2 |
Участник
|
Не, в BatchJobHistory тупо копируется из BatchJob.
Если уж что-то сохранять, то это нужно делать в BatchJob. Но есть нюансы. Непонятно в какое время это делать. Завершение наследника RunBaseBatch совсем не означает, что закончится BatchJob - там же может быть многоходовая обработка. Ну и потом, изменение Caption в BatchJob сохранит его для следующего запуска, соответственно, следующий запуск еще добавит дополнительный "хвост", следующий еще добавит и так далее. Ну и, в любом случае, this.batchInfo() вызывать не имеет смысла. this.batchInfo() нужен только на этапе настройки batch. В рантайме работаем с BatchHeader::getCurrentBatchTask для получения Batch, а из него можем получить BatchJob. |
|
11.02.2021, 17:34 | #3 |
Участник
|
вот-вот. в этом и вопрос.
Цитата:
вопрос - куда и как вставится. понятно что надо покопать, найти где и как заполняется время окончания пакетника и добавить туда свой код... но вдруг кто-то такое уже делал |
|
11.02.2021, 19:02 | #4 |
Участник
|
Как раз с местом завершения не проблема, это класс BatchRun:
Пока в голову приходит только вариант добавления в таблицы Batch (BatchJob) отдельного поля, в которое уже сами RunBaseBatch будут добавлять какую-то информацию в конце выполнения конкретного RunBaseBatch . А в методах BatchRun при копировании в историю эту информацию куда-то добавлять в таблицах истории. Ну и, конечно, при старте эти поля очищать в соответствующих методах того же BatchRun . |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
Теги |
ax2012, batchrun |
|
|