Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 08:35

    Aaronontheweb on dev

    Fix build script to be able to … (compare)

  • 08:35
    Aaronontheweb closed #3924
  • 08:28
    Aaronontheweb synchronize #3927
  • 08:28
    Aaronontheweb synchronize #3924
  • 08:28

    Aaronontheweb on dev

    added updated Windows Release p… Merge pull request #3869 from A… Fixed Akka.Remote.ResendUnfulfi… and 6 more (compare)

  • 08:28
    Aaronontheweb closed #3932
  • 08:22
    Aaronontheweb opened #3932
  • 08:16

    Aaronontheweb on 1.3.15

    (compare)

  • 08:14

    Aaronontheweb on master

    Fixed Akka.Remote.ResendUnfulfi… added v1.4.0-beta2 release note… added Akka.NET v1.3.15 release … and 2 more (compare)

  • 08:14
    Aaronontheweb closed #3931
  • 08:11
    Aaronontheweb synchronize #3931
  • 07:59
    Aaronontheweb commented #3905
  • 07:58
    Aaronontheweb edited #3931
  • 07:57
    Aaronontheweb commented #3889
  • 07:54
    Aaronontheweb synchronize #3931
  • 07:49
    Aaronontheweb opened #3931
  • 07:41
    Aaronontheweb closed #3930
  • 07:41
    Aaronontheweb commented #3930
  • 07:34
    Aaronontheweb opened #3930
  • 07:22
    Aaronontheweb synchronize #3924
Zetanova
@Zetanova
can be a singleton service t0o, but better an actor
Nicolas Bourbaki
@b0urb4k1
Ok but i guess you need to throw away determinism then.
Zetanova
@Zetanova
not realy
Nicolas Bourbaki
@b0urb4k1
Lets say you wanted to model something like a board game.
Then you need the sequence of actions of several of the actors.
Zetanova
@Zetanova
then the board can sync the steps or a child of board-actor
Nicolas Bourbaki
@b0urb4k1
Oh!
What is the name of the class i need to look up?
Zetanova
@Zetanova
?
ActorBase
most likly
Christian Duhard
@cduhard
If I send a RoundRobin router a PoisonPill.Instance i assume they all get the PoisonPill?
Christian Duhard
@cduhard
are there any examples on how to use GracefulStop correctly?
Aaron Stannard
@Aaronontheweb
@cduhard if you PoisonPill the router the router dies
and so do all of its routees
if it's a pool router
Christian Duhard
@cduhard
k it is
Aaron Stannard
@Aaronontheweb
for using GracefulStop
how that works by default is it PoisonPill's the target actor
Christian Duhard
@cduhard
@Aaronontheweb i am mostly not sure what to do with the Tasks if I have numerous children to stop
Aaron Stannard
@Aaronontheweb
and you the Task<bool> returns true if the temporary actor created by the GracefulStop call, kind of like the temporary actors created by Ask, gets a Terminated message
Christian Duhard
@cduhard
say for instance I have
Actor2.GracefulStop(TimeSpan.FromSeconds(10));
Actor3.GracefulStop(TimeSpan.FromSeconds(10), new Shutdown());
when all gracefulstop Tasks are complete I need to send a Passivate type message
i guess this is more about my shitty async skills than anythig
Christian Duhard
@cduhard
I assume sending a poisonPill just effects that actor and not it's watched children
Aaron Stannard
@Aaronontheweb
@alexvaluyskiy that's the goal
Christian Duhard
@cduhard
@Aaronontheweb so the bool returned from GracefulStop just tells me if the stop was actually graceful and didn't time out?
Aaron Stannard
@Aaronontheweb
bool == false if it timed out
didn't shut down in time
bool == true if it did
Christian Duhard
@cduhard
so its still running if it's false?
Aaron Stannard
@Aaronontheweb
and after we merge akkadotnet/akka.net#1765 all children will have been terminated also
like, guaranteed to have been stopped
correct
still running if false
when PoisonPill is sent, the actor must process all previous messages in its inbox first
before it can shut down
you can customize the shutdown message on GracefulStop too - there's an overload that supports that
so it can be something user-defined potentially
Christian Duhard
@cduhard
yeah, i've been using that
Aaron Stannard
@Aaronontheweb
just know that your message will also be user-defined, so it'll have the same behavior as PoisonPill in terms of processing order
if there's a big backlog of messages sitting in front of it
Christian Duhard
@cduhard
yep
Aaron Stannard
@Aaronontheweb
then the likelihood of a timeout will be higher
Christian Duhard
@cduhard
this graceful shutdown is a lot harder than I anticipated
Aaron Stannard
@Aaronontheweb
what's the issue exactly?
Christian Duhard
@cduhard
coordinating everything
Aaron Stannard
@Aaronontheweb
one pattern I've used
and we use this inside the Remoting class for doing a simultaneous shutdown of all transports at once
is I'll build a list of IActorRefs that need to be shutdown