Функция выполняет другую фильтрацию по сравнению с 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
Код: Выделить всё
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
Мобильная версия