Fix schema typo + config, dialyzer stuff, add some events

This commit is contained in:
Ulf Wiger 2025-05-14 15:03:12 +02:00
parent c57d89ba3d
commit 0dca4bfaf8
9 changed files with 27 additions and 21 deletions

View File

@ -1,6 +1,6 @@
{application,gmhive_client, {application,gmhive_client,
[{description,"Gajumaru Hive client"}, [{description,"Gajumaru Hive client"},
{vsn,"0.1.4"}, {vsn,"0.2.0"},
{registered,[]}, {registered,[]},
{applications,[kernel,stdlib,sasl,gproc,enoise,gmconfig, {applications,[kernel,stdlib,sasl,gproc,enoise,gmconfig,
gmhive_protocol,gmhive_worker]}, gmhive_protocol,gmhive_worker]},

View File

@ -2,10 +2,10 @@
, pool_admin => #{url => <<"local">>} , pool_admin => #{url => <<"local">>}
, pool => #{id => <<"ct_26xqeE3YKmZV8jrks57JSgZRCHSuG4RGzpnvdz6AAiSSTVbJRM">>, , pool => #{id => <<"ct_26xqeE3YKmZV8jrks57JSgZRCHSuG4RGzpnvdz6AAiSSTVbJRM">>,
host => <<"127.0.0.1">>} host => <<"127.0.0.1">>}
, mining => , workers =>
[#{executable => <<"mean15-generic">>} [#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>}
,#{executable => <<"mean15-generic">>} ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>}
,#{executable => <<"mean15-generic">>} ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>}
,#{executable => <<"mean15-generic">>} ,#{executable => <<"mean15-generic">>, <<"executable_group">> => <<"gmcuckoo">>}
] ]
}. }.

View File

@ -9,7 +9,7 @@
{enoise, {git, "https://git.qpq.swiss/QPQ-AG/enoise.git", {ref, "029292817e"}}}, {enoise, {git, "https://git.qpq.swiss/QPQ-AG/enoise.git", {ref, "029292817e"}}},
{gmhive_protocol, {gmhive_protocol,
{git, "https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git", {git, "https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git",
{ref, "ea549141f5"}}}, {ref, "818ce33"}}},
{gmhive_worker, {git, "https://git.qpq.swiss/QPQ-AG/gmhive_worker", {ref, "708f1a6"}}}, {gmhive_worker, {git, "https://git.qpq.swiss/QPQ-AG/gmhive_worker", {ref, "708f1a6"}}},
{gmconfig, {git, "https://git.qpq.swiss/QPQ-AG/gmconfig.git", {gmconfig, {git, "https://git.qpq.swiss/QPQ-AG/gmconfig.git",
{ref, "32c1ed5c4b"}}}, {ref, "32c1ed5c4b"}}},
@ -36,5 +36,5 @@
{dialyzer, [ {warnings, [unknown]} {dialyzer, [ {warnings, [unknown]}
, {plt_apps, all_deps} , {plt_apps, all_deps}
, {base_plt_apps, [erts, kernel, stdlib]} , {base_plt_apps, [erts, kernel, stdlib, inets]}
]}. ]}.

View File

@ -30,7 +30,7 @@
1}, 1},
{<<"gmhive_protocol">>, {<<"gmhive_protocol">>,
{git,"https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git", {git,"https://git.qpq.swiss/QPQ-AG/gmhive_protocol.git",
{ref,"ea549141f5943b2b1b109a2653b8cd60778107c7"}}, {ref,"818ce33cc1dec74c020515be48fb548a5207befd"}},
0}, 0},
{<<"gmhive_worker">>, {<<"gmhive_worker">>,
{git,"https://git.qpq.swiss/QPQ-AG/gmhive_worker", {git,"https://git.qpq.swiss/QPQ-AG/gmhive_worker",

View File

@ -74,7 +74,7 @@ workers() ->
"from faster CPU supporting AVX2 instructions).">>}), "from faster CPU supporting AVX2 instructions).">>}),
executable_group => executable_group =>
str(#{description => <<"Group of executable binaries of the worker.">>, str(#{description => <<"Group of executable binaries of the worker.">>,
enum => [ <<"aecuckoo">>, <<"aecuckooprebuilt">>, <<"gmcuckkoo">>, <<"cuda">>, <<"gajumine">> ], enum => [ <<"aecuckoo">>, <<"aecuckooprebuilt">>, <<"gmcuckoo">>, <<"cuda">>, <<"gajumine">> ],
default => <<"aecuckoo">>}), default => <<"aecuckoo">>}),
extra_args => extra_args =>
str(#{description => <<"Extra arguments to pass to the worker executable binary. " str(#{description => <<"Extra arguments to pass to the worker executable binary. "

View File

@ -57,9 +57,9 @@ request(get, URL, []) ->
HttpOpts = [{timeout, 15000}], HttpOpts = [{timeout, 15000}],
Opts = [], Opts = [],
Profile = default, Profile = default,
request_result(httpc:request(get, {URL, Headers}, HttpOpts, Opts, Profile)); request_result(httpc:request(get, {URL, Headers}, HttpOpts, Opts, Profile)).
request(post, URL, Body) -> %% request(post, URL, Body) ->
post_request(URL, Body). %% post_request(URL, Body).
expand_url(URL) -> expand_url(URL) ->
case re:run(URL, <<"{[^}]+}">>, []) of case re:run(URL, <<"{[^}]+}">>, []) of
@ -122,12 +122,12 @@ get_var_name(<<H, T/binary>>, Acc) ->
%% From gmplugin_web_demo_handler.erl =================================== %% From gmplugin_web_demo_handler.erl ===================================
post_request(URL, Map) -> %% post_request(URL, Map) ->
?LOG_DEBUG("Map = ~p", [Map]), %% ?LOG_DEBUG("Map = ~p", [Map]),
Body = json:encode(Map), %% Body = json:encode(Map),
?LOG_DEBUG("Body = ~s", [Body]), %% ?LOG_DEBUG("Body = ~s", [Body]),
PostRes = httpc:request(post, {URL, [], "application/json", Body}, [], []), %% PostRes = httpc:request(post, {URL, [], "application/json", Body}, [], []),
request_result(PostRes). %% request_result(PostRes).
%% ====================================================================== %% ======================================================================

View File

@ -13,6 +13,8 @@
-type event() :: pool_notification -type event() :: pool_notification
| {pool_notification, atom()} | {pool_notification, atom()}
| error | error
| puzzle
| result
| connected | connected
| disconnected. | disconnected.
@ -61,6 +63,8 @@ debug() ->
subscribe(pool_notification), subscribe(pool_notification),
subscribe({pool_notification, new_generation}), subscribe({pool_notification, new_generation}),
subscribe(connected), subscribe(connected),
subscribe(puzzle),
subscribe(result),
subscribe(error), subscribe(error),
subscribe(disconnected), subscribe(disconnected),
loop() loop()

View File

@ -365,8 +365,10 @@ spawn_worker(#worker{pid = undefined, nonce = Nonce, config = Cfg} = W, Cand) ->
-spec init_worker(binary(), integer(), integer(), tuple(), pid()) -> no_return(). -spec init_worker(binary(), integer(), integer(), tuple(), pid()) -> no_return().
init_worker(Data, Nonce, Target, Config, Parent) -> init_worker(Data, Nonce, Target, Config, Parent) ->
gmhc_events:publish(puzzle, {Data, Target, Nonce, Config}),
Res = gmhc_workers:generate_from_hash(Data, Target, Nonce, Config, undefined), Res = gmhc_workers:generate_from_hash(Data, Target, Nonce, Config, undefined),
%% ?LOG_DEBUG("worker result: ~p", [Res]), %% ?LOG_DEBUG("worker result: ~p", [Res]),
gmhc_events:publish(result, Res),
case Res of case Res of
{ok, Solutions} when is_list(Solutions) -> {ok, Solutions} when is_list(Solutions) ->
worker_result(Parent, {solutions, Solutions}); worker_result(Parent, {solutions, Solutions});

View File

@ -1,10 +1,10 @@
{name,"gmhive_client"}. {name,"gmhive_client"}.
{type,app}. {type,app}.
{modules,[]}. {modules,[]}.
{author,"Ulf Wiger, QPQ AG"}.
{prefix,"gmhc"}. {prefix,"gmhc"}.
{desc,"Gajumaru Hive Client"}. {desc,"Gajumaru Hive Client"}.
{package_id,{"uwiger","gmhive_client",{0,1,4}}}. {author,"Ulf Wiger, QPQ AG"}.
{package_id,{"uwiger","gmhive_client",{0,2,0}}}.
{deps,[{"uwiger","gmhive_worker",{0,1,1}}, {deps,[{"uwiger","gmhive_worker",{0,1,1}},
{"uwiger","gmhive_protocol",{0,1,1}}, {"uwiger","gmhive_protocol",{0,1,1}},
{"uwiger","setup",{2,2,4}}, {"uwiger","setup",{2,2,4}},