Browse Source

pf: 应该先入队 再通知管理进程

master V0.0.1
SisMaker 3 years ago
parent
commit
c1c61f7cb5
1 changed files with 10 additions and 6 deletions
  1. +10
    -6
      src/eFaw.erl

+ 10
- 6
src/eFaw.erl View File

@ -70,12 +70,14 @@ inWork(FName, Work) ->
FTaskLen == FTLfl -> FTaskLen == FTLfl ->
%% See factory if need to hire hourly worker %% See factory if need to hire hourly worker
%io:format("IMY*****************try addddddddd~n"), %io:format("IMY*****************try addddddddd~n"),
fwQueue:in(FName, Work),
fwFMgr:chAddW(FName), fwFMgr:chAddW(FName),
fwQueue:in(FName, Work);
true;
FTaskLen < WFCnt -> FTaskLen < WFCnt ->
%% See if need to wake up idle workers %% See if need to wake up idle workers
fwQueue:in(FName, Work),
fwFMgr:chAwkW(FName), fwFMgr:chAwkW(FName),
fwQueue:in(FName, Work);
true;
true -> true ->
fwQueue:in(FName, Work) fwQueue:in(FName, Work)
end. end.
@ -92,12 +94,14 @@ inWorks(FName, Works) ->
false; false;
FTaskLen == FTLfl -> FTaskLen == FTLfl ->
%% See factory if need to hire hourly worker %% See factory if need to hire hourly worker
fwQueue:ins(FName, Works),
fwFMgr:chAddW(FName), fwFMgr:chAddW(FName),
fwQueue:ins(FName, Works);
true;
FTaskLen < WFCnt -> FTaskLen < WFCnt ->
%% See if need to wake up idle workers %% See if need to wake up idle workers
fwQueue:ins(FName, Works),
fwFMgr:chAwkW(FName), fwFMgr:chAwkW(FName),
fwQueue:ins(FName, Works);
true;
true -> true ->
fwQueue:ins(FName, Works) fwQueue:ins(FName, Works)
end. end.
@ -114,8 +118,8 @@ syncWork(FName, RetTag, Timeout, Work) ->
false; false;
FTaskLen == FTLfl -> FTaskLen == FTLfl ->
%% See factory if need to hire hourly worker %% See factory if need to hire hourly worker
fwFMgr:chAddW(FName),
fwQueue:in(FName, Work), fwQueue:in(FName, Work),
fwFMgr:chAddW(FName),
receive receive
{RetTag, Ret} -> {RetTag, Ret} ->
Ret Ret
@ -124,8 +128,8 @@ syncWork(FName, RetTag, Timeout, Work) ->
end; end;
FTaskLen < WFCnt -> FTaskLen < WFCnt ->
%% See if need to wake up idle workers %% See if need to wake up idle workers
fwFMgr:chAwkW(FName),
fwQueue:in(FName, Work), fwQueue:in(FName, Work),
fwFMgr:chAwkW(FName),
receive receive
{RetTag, Ret} -> {RetTag, Ret} ->
Ret Ret

Loading…
Cancel
Save