221V 3 лет назад
Родитель
Сommit
e09d107a19
1 измененных файлов с 1 добавлено и 70 удалено
  1. 1 70
      apps/myapp/src/myapp_events2.erl

+ 1 - 70
apps/myapp/src/myapp_events2.erl

@@ -1,8 +1,6 @@
 -module(myapp_events2).
 -behaviour(gen_server).
 
-%-include_lib("stdlib/include/qlc.hrl").
-
 -export([start_link/0]).
 -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
 
@@ -55,35 +53,20 @@ start_link() ->
 
 
 init([]) ->
-  %ets:new(events_time_table, [bag, named_table, { keypos, 2 }, private, {write_concurrency, true}, {read_concurrency, true}]), % Key = Time
-  %ets:new(events_table, [ordered_set, named_table, { keypos, 1 }, private, {write_concurrency, true}, {read_concurrency, true}]),
-  
-  %ets:new(events_time_table, [bag, named_table, { keypos, 2 }, private]), % Key = Time
-  
-  %ets:new(events_time_table, [ordered_set, named_table, { keypos, 2 }, private]), % Key = Time
-  %ets:new(events_table, [ordered_set, named_table, { keypos, 1 }, private]), % Key = {Task_Id, Proc_Id}
-  
   ets:new(events_time_table, [ordered_set, named_table, { keypos, 1 }, private]), % Key = {Time, Task_Id, Proc_Id}
   ets:new(events_table, [ordered_set, named_table, { keypos, 1 }, private]), % Key = {Task_Id, Proc_Id}
   
-  %erlang:send_after(100, self(), check_time_process),
   self() ! check_time_process,
   State = [],
   {ok, State}.
 
 
 handle_call({add_task, {{Task_Id, Proc_Id}=V0, Time}=V}, _From, State) ->
-  %true = ets:insert(events_time_table, V),
-  %true = ets:insert(events_table, V),
-  
   case ets:lookup(events_table, V0) of
     [{{Task_Id, Proc_Id}, Time0}] ->
       ets:delete_object(events_time_table, {{Time0, Task_Id, Proc_Id}}),
       true = ets:insert(events_time_table, {{Time, Task_Id, Proc_Id}});
-    [] ->
-      true = ets:insert(events_time_table, {{Time, Task_Id, Proc_Id}});
-    Z ->
-      io:format("~p~n", [Z]),
+    _ ->
       true = ets:insert(events_time_table, {{Time, Task_Id, Proc_Id}})
   end,
   true = ets:insert(events_table, V),
@@ -93,42 +76,6 @@ handle_call({add_task, {{Task_Id, Proc_Id}=V0, Time}=V}, _From, State) ->
 
 
 handle_call({delete_task, {Task_Id, Proc_Id}=V}, _From, State) ->
-  %qlc:e(qlc:q([
-  %  {ets:delete_object(events_time_table, X), ets:delete(events_table, V)}
-  %  || {{Task_Id0, Proc_Id0}, _Time} = X <- ets:table(events_table),
-  %  Task_Id0 =:= Task_Id, Proc_Id0 =:= Proc_Id ])), % [{true,true}] | [] % повільно
-  
-  %qlc:e(qlc:q([
-  %  {ets:delete_object(events_time_table, X), ets:delete(events_table, V)}
-  %  || X <- ets:lookup(events_table, V) ])), % [{true,true}] | []
-  
-  %%ets:fun2ms(fun({{A,B},C}) when A =:= X andalso B =:= Y -> {{A,B},C} end).
-  %%[{{{'$1','$2'},'$3'}, [{'andalso',{'=:=','$1',{const,"2"}}, {'=:=','$2',{const,2}}}], [{{{{'$1','$2'}},'$3'}}]}]
-  %case ets:select(events_table, [{{{'$1','$2'},'$3'},
-  %  [{'andalso',{'=:=','$1',{const, Task_Id}}, {'=:=','$2',{const, Proc_Id}}}],
-  %  [{{{{'$1','$2'}},'$3'}}]}] ) of
-  %  
-  %  [X] ->
-  %    ets:delete_object(events_time_table, X),
-  %    ets:delete(events_table, V);
-  %  _ -> ok
-  %end,
-  
-  %case ets:lookup(events_table, V) of
-  %  [X] ->
-  %    ets:delete_object(events_time_table, X),
-  %    ets:delete(events_table, V);
-  %  _ -> ok
-  %end,
-  
-  %case ets:match_object(events_table, {{Task_Id, Proc_Id}, '$3'}) of
-  %  [X] ->
-  %    ets:delete_object(events_time_table, X),
-  %    ets:delete(events_table, V);
-  %  _ -> ok
-  %end,
-  
-  %case ets:match_object(events_table, {{Task_Id, Proc_Id}, '$3'}) of
   case ets:lookup(events_table, V) of
     [{{Task_Id, Proc_Id}, Time}] ->
       ets:delete_object(events_time_table, {{Time, Task_Id, Proc_Id}}),
@@ -163,24 +110,8 @@ handle_cast(_Req, State) ->
 handle_info(check_time_process, State) ->
   erlang:send_after(1000, self(), check_time_process),
   
-  %Timestamp_Now = erlang:system_time(second),
-  
-  %%ets:fun2ms(fun({{A,B},C}) when C =< Timestamp_Now -> {{A,B},C} end).
-  %%[{{{'$1','$2'},'$3'}, [{'=<','$3',{const,1642507256}}], [{{{{'$1','$2'}},'$3'}}]}]
-  
-  %L = ets:select(events_table, [{{{'$1','$2'},'$3'}, [{'=<','$3',{const, Timestamp_Now}}], [{{{{'$1','$2'}},'$3'}}]}] ),
-  
-  %lists:foldl(fun({{Task_Id0, Proc_Id0}=V, _Time0}, ok) ->
-     % send_to_rabbitmq({call_timer, Proc_Id0, Task_Id0}),
-  %   ets:delete(events_table, V),
-     %io:format("tick: ~p ~p~n", [Task_Id0, Proc_Id0]),
-  %   ok
-  %  end, ok, L),
-  
-  
   ok = check_time_h(ets:first(events_time_table), false, erlang:system_time(second) ),
   
-  %erlang:send_after(1000, self(), check_time_process),
   {noreply, State};