Журнал R сообщений и ошибок при использовании future.batchtools - PullRequest
0 голосов
/ 30 января 2019

Раньше я имел возможность отслеживать задания в нашем вычислительном кластере Torque / PBS, просматривая файлы журналов задания.Я (или пакет, который я использую) должен был что-то изменить в какой-то момент, чтобы ошибки в задании больше не регистрировались в файле журнала.Я не могу понять, что это такое.

library(future)
library(future.batchtools)
options(future.globals.maxSize = 2000*1024^2)
# login just once, deliver multiple jobs
login <- tweak(remote, workers = "XXX", persistent = FALSE)
qsub <- tweak(batchtools_torque, template = 'torque-lido.tmpl')
plan(list(login, qsub))

test %<-% { test2 %<-% { 
  message("Logged message")
  cat("Not logged text")
  warning("Logged warning")
  stop("not logged error")
}
  test2
}

Я получаю сообщение и предупреждение в файле журнала.Я не получаю текст (с кошкой) вообще.Я получаю ошибку на стороне R, но мне бы очень хотелось, чтобы она также была зарегистрирована.

Вместо этого я получаю

### [bt]: задание успешно завершено [batchtools job.id = 1]

Это не похожеверно?

Мой файл шаблона выглядит следующим образом

#!/bin/bash
<%
## Check some resources and set sane defaults
resources$walltime = assertString(resources$walltime)
resources$queue = assertString(resources$queue)
resources$memory = asInt(resources$memory, lower = 1L, upper = 1000L)
resources$ncpus = if (is.null(resources$ncpus)) 1L else asInt(resources$ncpus, lower = 1L)
resources$nodes = if (is.null(resources$nodes)) 1L else asInt(resources$nodes, lower = 1L)
job.name = assertString(resources$job.name)

## first string of queue, selected by walltime
queue = resources$queue

log.file = resources$log.file
-%>

#PBS -N <%= job.name %>
#PBS -l walltime=<%= resources$walltime %>,nodes=<%= resources$nodes %>:ppn=<%= resources$ncpus %>
#PBS -l mem=<%= resources$memory %>gb
#PBS -q <%= queue %>
#PBS -o $HOME/logs/
#PBS -e $HOME/logs/
#PBS -j oe
#PBS -m e
#PBS -d .


## export value of DEBUGME environemnt var to slave
export DEBUGME=<%= Sys.getenv("DEBUGME") %>

## run R
Rscript -e 'batchtools::doJobCollection("<%= uri %>")'

В моей реальной проблеме я хочу отслеживать прогресс и ошибки от длительных посылок rstan через brms.Однако сообщения процесса выборки нигде не печатаются.Я пытался переключать различные параметры (silent, open_progress), но это ничего не меняет.Последний журнал, который я получаю, это предупреждение перед началом выборки.

testbrms %<-% {
testbrms2 %<-% 
      {
        model <- brms::brm(file = model_name, silent = FALSE, open_progress = TRUE,
                     formula = outcome ~ 1, data = testdf, cores = 1, iter = 2000)
    }
}

У кого-нибудь есть идеи?

...