How to ignore the other output streams if failed in ffmpeg?

I have an input video. I take the input and encode the video, and encode all the audio channels in it in a single command. I get 5.1 audio and sometimes stereo audio(once in a day randomly) from the live input. I use the following command to encode all the streams.

ffmpeg -i input.ts -c:v libx264 -c:a libfdk_aac -y output.m3u8 \
  -vn -map_channel 0.1.0 -c:a libfdk_aac -ac 1 -y channel1.m3u8 \
  -vn -map_channel 0.1.1 -c:a libfdk_aac -ac 1 -y channel2.m3u8 \
  -vn -map 0:2 -c:a libfdk_aac -ac 1 -y channel3.m3u8 \
  -vn -map_channel 0.2.0 -c:a libfdk_aac -ac 1 -y channel4.m3u8 \
  -vn -map_channel 0.2.1 -c:a libfdk_aac -ac 1 -y channel5.m3u8 \
  -vn -map 0:3 -c:a libfdk_aac -ac 1 -y channel6.m3u8 \
  -vn -map_channel 0.3.0 -c:a libfdk_aac -ac 1 -y channel7.m3u8 \
  -vn -map_channel 0.3.1 -c:a libfdk_aac -ac 1 -y channel8.m3u8 -v verbose

Sometimes my whole encoding command is failing due to the sudden change in the audio layout(5.1 to stereo) for a particular hour. I don't want my encoding command to stop, I need the main video output.m3u8(video file) however the audio layout is. Can I ignore the other encodings by using any options if they failed? I have seen the option onfail in ffmpeg documentation. I tried using that in my command, but I failed. Below is the command I used.

ffmpeg -i input.ts -c:v libx264 -c:a libfdk_aac -y output.m3u8 
  -vn -map_channel 0.1.0 -c:a libfdk_aac -ac 1 -y channel1.m3u8 
  -vn -map_channel 0.1.1 -c:a libfdk_aac -ac 1 -y channel2.m3u8 
  -f "[f=mpegts:onfail=ignore] -vn -map 0:2 -c:a libfdk_aac -ac 1 -y channel3.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map_channel 0.2.0 -c:a libfdk_aac -ac 1 -y channel4.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map_channel 0.2.1 -c:a libfdk_aac -ac 1 -y channel5.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map 0:3 -c:a libfdk_aac -ac 1 -y channel6.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map_channel 0.3.0 -c:a libfdk_aac -ac 1 -y channel7.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map_channel 0.3.1 -c:a libfdk_aac -ac 1 -y channel8.m3u8" 
  -f "[f=mpegts:onfail=ignore] -vn -map 0:3.1 -c:a libfdk_aac -ac 1 -y channel6.m3u8" -v verbose

When I give the input video with 5.1 audio, the above command worked, but only for the first 3 outputs. It is totally ignoring all the remaining outputs even if they work. It is not bothering about the result of the outputs.

My question is how to use that onfail option to ignore if one of the outputs failed?