Merge remote-tracking branch 'upstream/master' into container-name

pull/2000/head
Michael Ira Krufky 6 years ago
commit c982f86458
  1. 1
      CHANGELOG.md
  2. 26
      apps/explorer/lib/explorer/counters/addresses_with_balance_counter.ex

@ -27,6 +27,7 @@
- [#1956](https://github.com/poanetwork/blockscout/pull/1956) - add logs tab to address - [#1956](https://github.com/poanetwork/blockscout/pull/1956) - add logs tab to address
- [#1933](https://github.com/poanetwork/blockscout/pull/1933) - add eth_BlockNumber json rpc method - [#1933](https://github.com/poanetwork/blockscout/pull/1933) - add eth_BlockNumber json rpc method
- [#1952](https://github.com/poanetwork/blockscout/pull/1952) - feat: exclude empty contracts by default - [#1952](https://github.com/poanetwork/blockscout/pull/1952) - feat: exclude empty contracts by default
- [#1989](https://github.com/poanetwork/blockscout/pull/1989) - fix: consolidate address w/ balance one at a time
- [#1954](https://github.com/poanetwork/blockscout/pull/1954) - feat: use creation init on self destruct - [#1954](https://github.com/poanetwork/blockscout/pull/1954) - feat: use creation init on self destruct
### Fixes ### Fixes

@ -40,15 +40,10 @@ defmodule Explorer.Counters.AddressesWithBalanceCounter do
end end
@impl true @impl true
def init(args) do def init(_args) do
create_table() create_table()
if enable_consolidation?() do {:ok, %{consolidate?: enable_consolidation?()}, {:continue, :ok}}
Task.start_link(&consolidate/0)
schedule_next_consolidation()
end
{:ok, args}
end end
def create_table do def create_table do
@ -63,9 +58,7 @@ defmodule Explorer.Counters.AddressesWithBalanceCounter do
end end
defp schedule_next_consolidation do defp schedule_next_consolidation do
if enable_consolidation?() do Process.send_after(self(), :consolidate, :timer.seconds(@update_interval_in_seconds))
Process.send_after(self(), :consolidate, :timer.seconds(@update_interval_in_seconds))
end
end end
@doc """ @doc """
@ -75,6 +68,19 @@ defmodule Explorer.Counters.AddressesWithBalanceCounter do
:ets.insert(table_name(), {key, info}) :ets.insert(table_name(), {key, info})
end end
@impl true
def handle_continue(:ok, %{consolidate?: true} = state) do
consolidate()
schedule_next_consolidation()
{:noreply, state}
end
@impl true
def handle_continue(:ok, state) do
{:noreply, state}
end
@impl true @impl true
def handle_info(:consolidate, state) do def handle_info(:consolidate, state) do
consolidate() consolidate()

Loading…
Cancel
Save