Отладка многопроцессорной обработки в bashLinux

Ответить
Anonymous
 Отладка многопроцессорной обработки в bash

Сообщение Anonymous »

Я пытаюсь запустить функцию через несколько процессов в bash (на CentO).
Функция выполняет другую фильтрацию по сравнению с Curl:

Код: Выделить всё

STEP=50
function filtering() {
local i="$1"
curl -s -g -X GET 'https://url.com?filter='$i'_filter'
}

for (( i=0; i&1 &
(( ACTIVE_PROCESSES++ ))
if (( ACTIVE_PROCESSES >= PARALLEL_PROCESSES )); then
wait -n 2> /dev/null
(( ACTIVE_PROCESSES-- ))
fi
done
wait
Когда я проверяю все напечатанные фильтры, все выглядит нормально. Я думаю, что Curl что-то неправильно понимает.

Код: Выделить всё

GNU parallel
тоже не справляется с моей задачей. Я думал, что отладка собственной распараллеливания будет проще.
Я был бы очень признателен за практические советы, как отладить то, что происходит/не так внутри, а также любые альтернативные предложения для достижения моей цели.
Я был бы очень признателен за практические советы, как отладить то, что происходит/не так внутри, и любые альтернативные предложения для достижения моей цели.
Я был бы очень признателен за практические советы, как отладить то, что происходит/не так внутри.
p>
EDIT:
1- TOTAL определяется программно перед началом итерации. Речь идет о том, чтобы выразить общее количество фильтров API, чтобы в дальнейшем я разделил его на фрагменты по 50. Иногда TOTAL может составлять 10 КБ и более. Сам '$i'_filter' состоит из 50 фильтрующих элементов, а этот API поддерживает до 100.
2. Эта функция извлекает некоторые данные (скажем) о конфетах. . Эти данные анализируются с помощью jq, например jq -r '.data[] | .id, .name, '"$label"' | @csv'
3. Под ненадежными результатами я подразумеваю непостоянно разные результаты между двумя и более близко запущенными отдельными итерациями. А серийный подход всегда дает одни и те же истинные результаты. Этот маг мне кажется, что при распараллеливании в фильтр подается что-то хаотичное.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ng-in-bash
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»