Дневник Матлаба + планировщик работы - PullRequest
0 голосов
/ 28 мая 2018

Я хочу использовать дневник ('log.txt') для создания файла журнала.

Сценарий запускается как задание с использованием createJob () + createTask () или batch ().

log.txt создан, но ничего не записано в log.txt.

Тестовый код am:

c = parcluster;
j = createJob(c);
createTask(j, @b, 0, {});
submit(j);

bm:

function [] = b()
    diary off
    delete b.txt
    diary b.txt
    disp('hello')
    diary off
end

Есть ли какой-нибудь удобный способ включить функцию дневника в работе, кроме этой https://ww2.mathworks.cn/help/distcomp/diary.html?

1 Ответ

0 голосов
/ 01 июня 2018

Вместо использования diary с файлом задания, отправленные с помощью Parallel Computing Toolbox, могут автоматически захватывать выходные данные дневника.Этот вывод обновляется по мере выполнения.Если вы создаете задание с помощью команды batch, вывод дневника фиксируется по умолчанию.Вот пример, который может продемонстрировать обновление выходных данных дневника:

function [] = b()
for ii = 1:10
    fprintf('hello: %d\n', ii);
    pause(2);
end
end

И затем вызвать его так:

j = batch(@b, 0);
wait(j, 'running');
while ~strcmp(j.State, 'finished')
    diary(j)
    pause(2)
end

(Обратите внимание, что вторым вводом для batch является числовыходные аргументы запрошены у b).Это приводит к выводу наподобие следующего, выводимого в командное окно:

Warning: The diary of this batch job might be incomplete because the job is still running. 
--- Start Diary ---
hello: 1
hello: 2
hello: 3
hello: 4

--- End Diary ---
...