Никакая потребность "зафиксировать" find
- использовать make
самостоятельно обработать параллелизм.
Имейте свой процесс, создают файл журнала или некоторый другой выходной файл, и затем используют Make-файл как это:
.SUFFIXES: .xml .out
.xml.out:
java -jar ProcessFile.jar $< 1> $@
и вызванный таким образом:
find /dump -type f -name '*.xml' | sed -e 's/\.xml$/.out/' | xargs make -j8
Еще лучше, если Вы удостоверяетесь, что выходной файл только создается на успешном завершении процесса Java, можно использовать в своих интересах make
обработка зависимости, чтобы гарантировать, что следующий раз только вокруг необработанных файлов сделан.
Я думаю, что В Java FastCGI devkit прямо с сайта fastcgi.com есть несколько ошибок. Последний раз он был изменен в 2000 году. Посмотрите мой ответ здесь , в ответе есть патч, который мне нужно было применить, чтобы интерфейс FastCGI работал более чем с одним запросом (странно, как вы даже не получить один запрос). Если патч не помогает вам работать на Nginx, вероятно, в интерфейсе больше ошибок. Попробуйте Apache 2.4+. Вы можете использовать Wireshark, чтобы сравнить взаимодействие FastCGI и найти другую ошибку, или просто использовать Apache 2.4 +.
Попробуйте использовать OutputStream FCGIInterface.request.outStream вместо System.out.
Хотя в документах утверждается, что System.out указывает на поток FastCGI, на самом деле это не так. . Наверное, никто на самом деле этим не пользовался, может быть больше ошибок :)