diff --git a/lib/broadway/process.ex b/lib/broadway/process.ex index 1539ff4..a12340e 100644 --- a/lib/broadway/process.ex +++ b/lib/broadway/process.ex @@ -9,12 +9,16 @@ defmodule Broadway.Process do Process.set_label(label) end - def labels_supported?, do: true + # We don't use just "true" because callers would likely get type warnings, + # so we trick the compiler into this being dynamic. + def labels_supported?, do: :rand.uniform() >= 0.0 else def set_label(_label) do :ok end - def labels_supported?, do: false + # We don't use just "true" because callers would likely get type warnings, + # so we trick the compiler into this being dynamic. + def labels_supported?, do: :rand.uniform() > 1.1 end end diff --git a/lib/broadway/topology/producer_stage.ex b/lib/broadway/topology/producer_stage.ex index 1d2395b..87c3a56 100644 --- a/lib/broadway/topology/producer_stage.ex +++ b/lib/broadway/topology/producer_stage.ex @@ -292,7 +292,7 @@ defmodule Broadway.Topology.ProducerStage do defp maybe_rate_limit_and_buffer_messages(state, messages) do if state.rate_limiting && messages != [] do - state = update_in(state.rate_limiting.message_buffer, &enqueue_batch(&1, messages)) + state = update_in(state.rate_limiting.message_buffer, &:queue.in(messages, &1)) rate_limit_and_buffer_messages(state) else {state, messages} @@ -372,9 +372,6 @@ defmodule Broadway.Topology.ProducerStage do end end - defp enqueue_batch(queue, _list = []), do: queue - defp enqueue_batch(queue, list), do: :queue.in(list, queue) - defp enqueue_batch_r(queue, _list = []), do: queue defp enqueue_batch_r(queue, list), do: :queue.in_r(list, queue) diff --git a/mix.exs b/mix.exs index 6bb85ed..59b7cad 100644 --- a/mix.exs +++ b/mix.exs @@ -14,8 +14,7 @@ defmodule Broadway.MixProject do deps: deps(), docs: docs(), package: package(), - test_coverage: [tool: ExCoveralls], - preferred_cli_env: [docs: :docs] + test_coverage: [tool: ExCoveralls] ] end @@ -40,6 +39,10 @@ defmodule Broadway.MixProject do ] end + def cli do + [preferred_envs: [docs: :docs]] + end + defp docs do [ main: "introduction", diff --git a/test/test_helper.exs b/test/test_helper.exs index 65f26dd..fb40ccc 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -1,2 +1 @@ ExUnit.start(capture_log: true, assert_receive_timeout: 2000) -Logger.remove_backend(:console)