Проверьте ?sfCat
и найдите строку, в которой написано:
sfCat - это функция отладки, печатающая сообщение на всех ведомых устройствах (которые появляются в лог-файлах).
Это говорит нам о том, что нам нужно включить вход в систему при вызове sfInit
(аргумент slaveOutfile
).Затем каждый вызов sfCat()
будет сбрасывать данные в указанный вами файл журнала.Мне потребовалось некоторое время, чтобы понять это ;-)
Пример кода
if (!require("snowfall")) {
install.packages("snowfall")
require("snowfall")
}
sfInit(parallel=TRUE, cpus=4, slaveOutfile="test.txt")
sfLibrary("snowfall", character.only=TRUE)
res <- sfClusterApplyLB(1:100, function(x) {
sfCat(paste("Iteration ", x), sep="\n")
})
sfStop()
Вывод ./test.txt
[...]
Calling a snowfall function without calling 'sfInit' first or after sfStop().
'sfInit()' is called now.
snowfall 1.84 initialized: sequential execution, one CPU.
Iteration 4
Type: EXEC
Iteration 92
Type: EXEC
Iteration 94
Type: EXEC
Iteration 96
Type: EXEC
Iteration 98
Type: EXEC
Iteration 100
ype: EXEC
Iteration 29
Type: EXEC
Iteration 31
Type: EXEC
Iteration 33
Type: EXEC
Iteration 35
Type: EXEC
Iteration 37
Type: EXEC
Iteration 39
Type: EXEC
Iteration 41
Type: EXEC
Iteration 43
Type: EXEC
Iteration 45
Type: EXEC
Iteration 47
Type: EXEC
Iteration 49
Type: EXEC
Iteration 51
Type: EXEC
Iteration 53
Type: EXEC
Iteration 55
Type: EXEC
Iteration 57
Type: EXEC
Iteration 59
Type: EXEC
Iteration 61
Type: EXEC
Iteration 63
Type: EXEC
Iteration 65
Type: EXEC
Iteration 67
Type: EXEC
Iteration 69
Type: EXEC
Iteration 71
Type: EXEC
Iteration 73
Type: EXEC
Iteration 75
Type: EXEC
Iteration 77
Type: EXEC
Iteration 79
Type: EXEC
Iteration 81
Type: EXEC
Iteration 83
Type: EXEC
Iteration 85
Type: EXEC
Iteration 87
Type: EXEC
Iteration 89
Type: EXEC
Iteration 91
Type: EXEC
Iteration 93
Type: EXEC
Iteration 95
Type: EXEC
Iteration 97
Type: EXEC
Iteration 99
EXEC
Iteration 74
Type: EXEC
Iteration 76
Type: EXEC
Iteration 78
Type: EXEC
Iteration 80
Type: EXEC
Iteration 82
Type: EXEC
Iteration 84
Type: EXEC
Iteration 86
Type: EXEC
Iteration 88
Type: EXEC
Iteration 90
Собственный вопрос
Кто-нибудь знает, как "контролировать" определенные вещи, которые идут в файл журнала?Например, было бы неплохо включить информацию о том, какой работник закончил какую работу и т. Д.