GNU Parallel - несколько аргументов

Параллельно с использованием GNU я пытаюсь запустить сценарий субсэмплинга, который вводит два файла и выводит определенный субсэмплированный файл. Я использую эту команду:

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

Но в командной строке нет ETA, а именно:

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

Также обрабатываются только первые четыре файла, но не последние два: file5 а также file6,

1 ответ

Решение
parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6

2*2*2 = 8 рабочих мест.

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0

ETA рассчитывается по времени выполнения завершенных заданий. Здесь еще ни одна работа не закончена, поэтому нет ETA. Вы также можете видеть, что все 8 заданий выполняются в вашей локальной системе, поэтому у вас, вероятно, 8 или более ядер.

Также обрабатываются только первые четыре файла, но не последние два: file5 а также file6,

Написанный таким образом, я подозреваю, что вы можете не знать, что делает несколько:::. Запустите --dryrun и посмотрите, будет ли это то, что вы ожидаете.

Я думаю, что вы действительно хотите запустить (требуется версия 20160422 или более поздняя версия):

parallel --eta python sub_sample_.2.py ::: file1 file3 file5 :::+ file2 file4 file6

Или же:

parallel --xapply --eta python sub_sample_.2.py ::: file1 file3 file5 ::: file2 file4 file6
Другие вопросы по тегам