Я использую doParallel
для довольно долгой параллельной обработки с foreach
. В отличие от большинства примеров, которые я вижу, где в цикл подается код с интенсивными вычислениями, но легкий ввод, я использую foreach
для координации одновременной обработки ряда больших независимых наборов данных. Итак, внутри цикла я использую метаданные для чтения файла с диска, работы с ним и обратной записи.
Прежде чем превратить эту операцию в цикл foreach, я писал отладочные сообщения, используя messages()
. Однако с тех пор, как я переключился на использование foreach
и %dopar%
, я заметил, что цикл «гаснет»: он делает то, что должен, но я не получаю никакого вывода. (Я должен упомянуть, что этот цикл прописан в сценарии, который я вызываю из оболочки с помощью Rscript
.)
Я предполагаю, что это как-то связано с тем фактом, что doParallel
порождает другие потоки — может быть, эти потоки больше не знают, куда выводить стандартный вывод? Мысли?
system()
для вызова других инструментов ), но не выводmessage()
в R. Так что, похоже, он есть. Я полагаю, что еще одним отчаянным ответом будет `система (эхо моего обновления) ... - person jimjamslam   schedule 13.07.2017