I run two Flow process to parse XML file
category_tree = File.stream!(file_path)
|> Stream.drop(1)
|> Stream.drop(-2000)
|> SweetXml.stream_tags([:category])
|> Flow.from_enumerable
|> Flow.partition()
|> Flow.map(fn {_, doc} ->
#do some staff
end)
|> Enum.to_list
File.stream!(file_path)
|> Stream.drop(1)
|> SweetXml.stream_tags([:offer])
|> Flow.from_enumerable()
|> Flow.partition()
|> Flow.map(fn {_, doc} ->
#do some staff
end)
|> Stream.run()
After done I got error:
12:05:25.135 [error] GenServer #PID<0.297.0> terminating (FunctionClauseError) no function clause matching in GenStage.Streamer.handle_info/2
lib/gen_stage/streamer.ex:27: GenStage.Streamer.handle_info({:wait, #Reference<0.536528267.1170472961.59133>}, #Function<24.40091930/1 in Stream.do_resource/5>)
lib/gen_stage.ex:2170: GenStage.noreply_callback/3
(stdlib) gen_server.erl:616: :gen_server.try_dispatch/4
(stdlib) gen_server.erl:686: :gen_server.handle_msg/6
(stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3 Last message: {:wait, #Reference<0.536528267.1170472961.59133>}
Thanks!