diff options
-rw-r--r-- | components/schedule/src/schedule_rpc.erl | 46 | ||||
-rw-r--r-- | components/service_edge/src/service_edge_rpc.erl | 1 |
2 files changed, 32 insertions, 15 deletions
diff --git a/components/schedule/src/schedule_rpc.erl b/components/schedule/src/schedule_rpc.erl index 764b1ad..89ca7a8 100644 --- a/components/schedule/src/schedule_rpc.erl +++ b/components/schedule/src/schedule_rpc.erl @@ -829,25 +829,41 @@ create_transaction_id(St) -> calc_relative_tout(UnixTime) -> { Mega, Sec, _Micro } = now(), Now = Mega * 1000000 + Sec, - ?debug("sched:calc_relative_tout(): Timeout(~p) - Now(~p) = ~p", [ UnixTime, Now, UnixTime - Now ]), - %% Cap the timeout value at something reasonable - TOut = - case UnixTime - Now >= 4294967295 of - true -> - ?info("sched:calc_relative_tout(): Timeout(~p) - Now(~p) = ~p: " - "Truncated to 4294967295", [ UnixTime, Now, UnixTime - Now ]), - 4294967295; - false -> UnixTime - Now - end, - - case TOut =< 0 of - true -> - -1; %% We have timed out + %% + %% Slick but ugly. + %% If the timeout is more than 24 hrs old when parsed as unix time, + %% then we are looking at a relative msec timeout. Convert accordingly + %% + case UnixTime < Now - 86400 of + true -> %% This is relative + ?debug("sched:calc_relative_tout(): Timouet(~p) is relative in msec.", + [ UnixTime ]), + UnixTime; false -> - TOut * 1000 + ?debug("sched:calc_relative_tout(): Timeout(~p) - Now(~p) = ~p", + [ UnixTime, Now, UnixTime - Now ]), + + %% Cap the timeout value at something reasonable + TOut = + case UnixTime - Now >= 4294967295 of + true -> + ?info("sched:calc_relative_tout(): Timeout(~p) - Now(~p) = ~p: " + "Truncated to 4294967295", [ UnixTime, Now, UnixTime - Now ]), + 4294967295; + + false -> UnixTime - Now + end, + + case TOut =< 0 of + true -> + -1; %% We have timed out + + false -> + TOut * 1000 %% Convert to msec + end end. %% Handle a callback for a timed out message. diff --git a/components/service_edge/src/service_edge_rpc.erl b/components/service_edge/src/service_edge_rpc.erl index 1b28b98..9914bed 100644 --- a/components/service_edge/src/service_edge_rpc.erl +++ b/components/service_edge/src/service_edge_rpc.erl @@ -363,6 +363,7 @@ handle_call({ rvi, handle_local_message, authorize_rpc:authorize_local_message(St#st.cs, SvcName), + %% %% Check if this is a local service by trying to resolve its service name. %% If successful, just forward it to its service_name. |