[erlang-questions] Stopping gen_server during processing
Janos Hary
janos.n.hary@REDACTED
Fri Nov 8 10:43:40 CET 2013
Sorry, I cannot see how could it work in Erlang.
I have a handle_info processing a large number of records:
handle_info(check, State) ->
check_records(State).
check_records(State) ->
do some work...
case State#stop_flag of
true ->
{stop, normal, State};
_ ->
check_records(State)
end.
The State in check_records cannot changed from another cast. I'm not even
sure that the cast will execute before check_records finishes.
Janos
-----Original Message-----
From: erlang-questions-bounces@REDACTED
[mailto:erlang-questions-bounces@REDACTED] On Behalf Of Bengt Kleberg
Sent: Friday, November 08, 2013 9:28 AM
To: undisclosed-recipients:
Cc: erlang-questions@REDACTED
Subject: Re: [erlang-questions] Stopping gen_server during processing
These are my opinions, not hard facts.
Add a member to the gen_server state record that says that you are going to
stop when possible. Use a cast to set it to true when you want to stop. If
it is true and you can stop the gen_server, stop it.
bengt
On Fri, 2013-11-08 at 08:55 +0100, Janos Hary wrote:
> All,
>
>
>
> I have a gen_server process which periodically processes new records
> from a database. I use timer:send_after to schedule gathering and
> processing new records. I can gracefully stop the gen_server when it
> is waiting, but I need a way to stop it during processing. Of cause I
> only want to stop it at certain points of the processing, for example
> before starting to process the next record. I need to group the
> records, so I cannot ask them one by one from the db.
>
>
>
> What is the preferred way of doing this?
>
>
>
> Thanks for your answers in advance.
>
> Janos
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
erlang-questions@REDACTED
http://erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list