Почему PCF Task Instance не работает как PCF Web Instance. Экземпляр PCF Task App завершает работу при обработке большого файла - PullRequest
0 голосов
/ 02 апреля 2020

Мы создаем сервис обработки файлов с использованием весенней загрузки. Мы получаем XML файл как Clob из БД и преобразуем его в String (затем мы обработаем Unmarshall String в JAXBElement для обработки).

Поскольку это служба обработки файлов, наша конструкция для этой службы будет работать как Задача PCF. приложение, так что когда приложение завершит обработку файла, оно завершит работу и освободит облачный ресурс (RAM, Disk).

Когда мы обрабатываем небольшие файлы (до 60 МБ) с помощью приложения задачи PCF, у нас нет проблем. Но когда мы пытаемся обработать файл размером 150 МБ, экземпляр приложения Task завершается без какого-либо журнала ошибок.

Мы развернули то же приложение, что и экземпляр веб-приложения PCF, и использовали REST API для обработки файла. Затем мы можем обработать файл.

Конфигурация приложения задачи:

Мы начали с 1 ГБ оперативной памяти и 1 ГБ дискового пространства для экземпляра задачи и увеличенной оперативной памяти. до 5 ГБ и 2 ГБ дискового пространства все еще Приложение не может обработать файл.

Конфигурация веб-приложения:

С 2 ГБ ОЗУ и 1 ГБ на диске. С помощью REST API для начала обработки файла мы можем обработать файл.

Почему это различие?

Фрагмент кода:

if (clob != null) {

  BufferedReader reader = new BufferedReader(new InputStreamReader(clob.getAsciiStream()));

  String read = null;

  StringBuffer sb = new StringBuffer();

   LOGGER.info("Before While Loop");

   while ((read = reader.readLine()) != null) {

  sb.append(read);

  }

   LOGGER.info("After While Loop");

  String xml = sb.toString();

}

Журнал задач ПКФ:

2020-04-02T15:54:19.787+05:30 [APP/TASK/Bulk File/0] [OUT] 2020-04-02 10:24:19.786 INFO 15 --- [ main] c.f.g.s.s.impl.ServiceImpl : Before While Loop

2020-04-02T15:54:29.180+05:30 [APP/TASK/Bulk File/0] [OUT] 2020-04-02 10:24:29.180 INFO 15 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...

2020-04-02T15:54:29.220+05:30 [APP/TASK/Bulk File/0] [OUT] 2020-04-02 10:24:29.220 INFO 15 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.

2020-04-02T15:54:29.490+05:30 [APP/TASK/Bulk File/0] [OUT] Exit status 1

2020-04-02T15:54:29.630+05:30 [CELL/0] [OUT] Cell 17fd36a9-3f6b-4957-89b5-83639048dadf stopping instance 204e6fc5-6998-47d3-89dc-59ac702caccd

2020-04-02T15:54:29.630+05:30 [CELL/0] [OUT] Cell 17fd36a9-3f6b-4957-89b5-83639048dadf destroying container for instance 204e6fc5-6998-47d3-89dc-59ac702caccd
...