Skip to content

Commit

Permalink
Set message processing asynchronous (#454)
Browse files Browse the repository at this point in the history
  • Loading branch information
Neylix committed Jul 18, 2022
1 parent a370fd5 commit 051e8c9
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions lib/archethic/p2p/listener_protocol/broadway_pipeline.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ defmodule Archethic.P2P.ListenerProtocol.BroadwayPipeline do
alias Archethic.P2P.Message
alias Archethic.P2P.MessageEnvelop
alias Archethic.P2P.Client
alias Archethic.TaskSupervisor

alias Broadway.Message, as: BroadwayMessage

Expand Down Expand Up @@ -40,13 +41,16 @@ defmodule Archethic.P2P.ListenerProtocol.BroadwayPipeline do
# start_time = System.monotonic_time(:millisecond)

BroadwayMessage.update_data(message, fn {socket, transport, data} ->
message =
data
|> decode()
|> process()
|> encode()
Task.Supervisor.async_nolink(TaskSupervisor, fn ->
message =
data
|> decode()
|> process()
|> encode()

transport.send(socket, message)
end)

transport.send(socket, message)
# end_time = System.monotnonic_time(:millisecond)
# Logger.debug("Request processed in #{end_time - start_time} ms")
end)
Expand Down

0 comments on commit 051e8c9

Please sign in to comment.