Fix cache_dir() problem, made it configurable
This commit is contained in:
parent
1e60f35dd3
commit
847ffc810a
@ -103,6 +103,10 @@ option `-setup data_dir Dir`.
|
|||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"cache_dir": {
|
||||||
|
"description": "Location of cache, default is 'setup:data_dir()'",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"extra_pubkeys": {
|
"extra_pubkeys": {
|
||||||
"default": [],
|
"default": [],
|
||||||
"description": "Additional worker pubkeys, sharing rewards",
|
"description": "Additional worker pubkeys, sharing rewards",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{application,gmhive_client,
|
{application,gmhive_client,
|
||||||
[{description,"Gajumaru Hive Client"},
|
[{description,"Gajumaru Hive Client"},
|
||||||
{vsn,"0.8.2"},
|
{vsn,"0.8.3"},
|
||||||
{registered,[]},
|
{registered,[]},
|
||||||
{applications,[kernel,stdlib,sasl,gproc,inets,ssl,enoise,
|
{applications,[kernel,stdlib,sasl,gproc,inets,ssl,enoise,
|
||||||
gmconfig,gmhive_protocol,gmhive_worker]},
|
gmconfig,gmhive_protocol,gmhive_worker]},
|
||||||
|
|||||||
@ -2,6 +2,10 @@
|
|||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"cache_dir": {
|
||||||
|
"description": "Location of cache, default is 'setup:data_dir()'",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"extra_pubkeys": {
|
"extra_pubkeys": {
|
||||||
"default": [],
|
"default": [],
|
||||||
"description": "Additional worker pubkeys, sharing rewards",
|
"description": "Additional worker pubkeys, sharing rewards",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
%% -*- mode: erlang; erlang-indent-level: 4; indent-tabs-mode: nil -*-
|
%% -*- mode: erlang; erlang-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
-module(gmhc_app).
|
-module(gmhc_app).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-behaviour(application).
|
-behaviour(application).
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_config).
|
-module(gmhc_config).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([ load_config/0
|
-export([ load_config/0
|
||||||
, get_config/1
|
, get_config/1
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_config_schema).
|
-module(gmhc_config_schema).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([ schema/0
|
-export([ schema/0
|
||||||
, to_json/0
|
, to_json/0
|
||||||
@ -51,6 +51,7 @@ schema() ->
|
|||||||
, pool => pool()
|
, pool => pool()
|
||||||
, pool_admin => pool_admin()
|
, pool_admin => pool_admin()
|
||||||
, workers => workers()
|
, workers => workers()
|
||||||
|
, cache_dir => str(#{description => <<"Location of cache, default is 'setup:data_dir()'">>})
|
||||||
, report => str(#{ enum => [<<"debug">>, <<"progress">>, <<"silent">>]
|
, report => str(#{ enum => [<<"debug">>, <<"progress">>, <<"silent">>]
|
||||||
, default => <<"silent">>
|
, default => <<"silent">>
|
||||||
, description => <<"Progress reporting">> })
|
, description => <<"Progress reporting">> })
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_connector).
|
-module(gmhc_connector).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-behaviour(gen_server).
|
-behaviour(gen_server).
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_connectors_sup).
|
-module(gmhc_connectors_sup).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
-behavior(supervisor).
|
-behavior(supervisor).
|
||||||
|
|
||||||
-export([ start_link/0
|
-export([ start_link/0
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_counters).
|
-module(gmhc_counters).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([ initialize/0 ]).
|
-export([ initialize/0 ]).
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
-module(gmhc_eureka).
|
-module(gmhc_eureka).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([get_pool_address/0]).
|
-export([get_pool_address/0]).
|
||||||
-export([cache_good_address/1,
|
-export([cache_good_address/1,
|
||||||
invalidate_cache/0]).
|
invalidate_cache/0,
|
||||||
|
cached_address/0,
|
||||||
|
cache_filename/0,
|
||||||
|
cache_dir/0]).
|
||||||
|
|
||||||
-include_lib("kernel/include/logger.hrl").
|
-include_lib("kernel/include/logger.hrl").
|
||||||
-include("gmhc_events.hrl").
|
-include("gmhc_events.hrl").
|
||||||
@ -99,10 +102,27 @@ cache_filename() ->
|
|||||||
cache_filename(cache_info()).
|
cache_filename(cache_info()).
|
||||||
|
|
||||||
cache_filename(#{network := Network, pubkey := Pubkey}) ->
|
cache_filename(#{network := Network, pubkey := Pubkey}) ->
|
||||||
Path = filename:join(setup:data_dir(), Network),
|
Path = filename:join(cache_dir(), Network),
|
||||||
<<"ak_", PKShort:8/binary, _/binary>> = Pubkey,
|
<<"ak_", PKShort:8/binary, _/binary>> = Pubkey,
|
||||||
filename:join(Path, "gmhc_eureka." ++ binary_to_list(PKShort) ++ ".cache").
|
filename:join(Path, "gmhc_eureka." ++ binary_to_list(PKShort) ++ ".cache").
|
||||||
|
|
||||||
|
cache_dir() ->
|
||||||
|
case gmconfig:find_config([<<"cache_dir">>]) of
|
||||||
|
{ok, D} ->
|
||||||
|
D;
|
||||||
|
undefined ->
|
||||||
|
case setup_zomp:is_zomp_context() of
|
||||||
|
true ->
|
||||||
|
cache_dir_zomp();
|
||||||
|
false ->
|
||||||
|
filename:join(setup:data_dir(), "gmhive.cache")
|
||||||
|
end
|
||||||
|
end.
|
||||||
|
|
||||||
|
cache_dir_zomp() ->
|
||||||
|
#{package_id := {Realm, App, _}} = zx_daemon:meta(),
|
||||||
|
filename:join(zx_lib:ppath(var, {Realm, App}), "gmhive.cache").
|
||||||
|
|
||||||
get_pool_address_() ->
|
get_pool_address_() ->
|
||||||
case gmconfig:find_config([<<"pool_admin">>, <<"url">>], [user_config]) of
|
case gmconfig:find_config([<<"pool_admin">>, <<"url">>], [user_config]) of
|
||||||
{ok, URL0} ->
|
{ok, URL0} ->
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_events).
|
-module(gmhc_events).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([subscribe/1,
|
-export([subscribe/1,
|
||||||
ensure_subscribed/1,
|
ensure_subscribed/1,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_handler).
|
-module(gmhc_handler).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
-behavior(gen_server).
|
-behavior(gen_server).
|
||||||
|
|
||||||
-export([ start_link/0
|
-export([ start_link/0
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
-module(gmhc_lib).
|
-module(gmhc_lib).
|
||||||
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([ rand/1 ]).
|
-export([ rand/1 ]).
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhc_server).
|
-module(gmhc_server).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-behaviour(gen_server).
|
-behaviour(gen_server).
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
%% -*- mode: erlang; erlang-indent-level: 4; indent-tabs-mode: nil -*-
|
%% -*- mode: erlang; erlang-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
-module(gmhc_sup).
|
-module(gmhc_sup).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-behaviour(supervisor).
|
-behaviour(supervisor).
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
%%%-------------------------------------------------------------------
|
%%%-------------------------------------------------------------------
|
||||||
|
|
||||||
-module(gmhc_workers).
|
-module(gmhc_workers).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
get_worker_configs/0
|
get_worker_configs/0
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-module(gmhive_client).
|
-module(gmhive_client).
|
||||||
-vsn("0.6.1").
|
-vsn("0.8.3").
|
||||||
|
|
||||||
-export([ connect/1
|
-export([ connect/1
|
||||||
, disconnect/1
|
, disconnect/1
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
{type,app}.
|
{type,app}.
|
||||||
{modules,[]}.
|
{modules,[]}.
|
||||||
{prefix,"gmhc"}.
|
{prefix,"gmhc"}.
|
||||||
{author,"Ulf Wiger, QPQ AG"}.
|
|
||||||
{desc,"Gajumaru Hive Client"}.
|
{desc,"Gajumaru Hive Client"}.
|
||||||
{package_id,{"uwiger","gmhive_client",{0,8,2}}}.
|
{author,"Ulf Wiger, QPQ AG"}.
|
||||||
|
{package_id,{"uwiger","gmhive_client",{0,8,3}}}.
|
||||||
{deps,[{"uwiger","gmhive_protocol",{0,2,0}},
|
{deps,[{"uwiger","gmhive_protocol",{0,2,0}},
|
||||||
{"uwiger","gmhive_worker",{0,5,1}},
|
{"uwiger","gmhive_worker",{0,5,1}},
|
||||||
{"uwiger","gmcuckoo",{1,2,4}},
|
{"uwiger","gmcuckoo",{1,2,4}},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user