Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 07 11:49
    IgorFedchenko commented #4085
  • Dec 07 10:31
    IgorFedchenko commented #4085
  • Dec 07 08:36
    IgorFedchenko commented #4085
  • Dec 06 20:57
    IgorFedchenko commented #4085
  • Dec 06 20:32
    IgorFedchenko commented #4085
  • Dec 06 20:01
    IgorFedchenko commented #4085
  • Dec 06 19:55
    IgorFedchenko commented #4085
  • Dec 06 16:22
    Aaronontheweb labeled #3997
  • Dec 06 16:22
    Aaronontheweb closed #3997
  • Dec 06 16:20
    IgorFedchenko commented #3997
  • Dec 06 16:08
    IgorFedchenko commented #4085
  • Dec 06 15:50
    Aaronontheweb assigned #4085
  • Dec 06 15:50
    Aaronontheweb labeled #4085
  • Dec 06 15:50
    Aaronontheweb labeled #4085
  • Dec 06 15:49
    Aaronontheweb closed #4032
  • Dec 06 14:58
    IgorFedchenko commented #4032
  • Dec 06 14:57
    IgorFedchenko opened #4085
  • Dec 05 17:21
    Aaronontheweb synchronize #4079
  • Dec 05 17:20
    Aaronontheweb labeled #4084
  • Dec 05 17:20
    Aaronontheweb labeled #4084
Bartosz Sypytkowski
@Horusiath
there is a little risk, that I won't have microphone and camera
Bartosz Sypytkowski
@Horusiath
I'm thinking about implementing stashing in F# actors in lazy manner, that means that stash would be intantiated only in case when actor logic will invoke functions which may need it
Tom Staijen
@tomstaijen
Hi. I've been looking for ways to create child actors using DI. The best i can come up with for now is injecting some factory with a method "ActorRef Create<TActor>(IActorContext)", that uses the dependencyresolver to create the props), although this has some chicken/egg issues (). In general, what I miss in akka is the ability to separate the definition of actor creation (whenever I ask for an actorOf<T>, do <this>), with creating a reference to such actor. This seems quite obvious. Am i completely looking over some feature? Maybe an actorsystem that knows about the dependencyresolver, and whener actorOf<T>() is invoked, it will resolve a Props<T> to create the corresponding props? Thanks in advance for any feedback!
jcwrequests
@jcwrequests
@tomstaijen If you use the IOC plugin then from within the Actor that has already been created use that access Props via the Context to create a child
That child will be using the IOC plugin.
I am responding from my phone so I apologize if I don't have a quick example.
Currently I am working on a patch for the current implementation which should be available soon.
jcwrequests
@jcwrequests
@tomstaijen That was not a very good explanation and I apologize. I am working on a Patch as I previously said for DI and within that I am adding some examples. So hopefully by tomorrow evening EST I should have something for you to look at.
Tom Staijen
@tomstaijen
@jcwrequests Thanks, it helped, found the resolver in de context's props. Eagerly waiting to see your patch. W.r.t. to lifetime, for now i'm working with singleton services and forced per-message lifetimescope (using Autofac's Func<Owned<T>>)
Roger Johansson
@rogeralsing
akkagraph.png
Aaron Stannard
@Aaronontheweb
@rogeralsing that's super cool! How'd you make that?
Roger Johansson
@rogeralsing
here is a better one
akkagraph.png
played around with a "Walk" system message, that notifies a callback of its existence, and then do the same for its own children.. then I rendered the result in GraphViz
but it could be solve with proper monitor support instead, that would be better. if we have a IMonitorLifecycle interface that gets called from the cell whenever a lifecycle event occurs, the one could plug that in there and get a realtime view :)
Roger Johansson
@rogeralsing
We should totally provide a debugger like this, like a vs debug extension. hover a system or actorref instance and get a full view of the system :)
Aaron Stannard
@Aaronontheweb
yeah, I think that's a really cool idea
I took a look at @jcwrequests post on monitoring via AOP the other day
that's an idea I think we should explore more closely after 1.0 ships
Bartosz Sypytkowski
@Horusiath
considering #722 - I've created a test case for app.config HOCON string loading... but it passes anyway, config is loaded correctly
Aaron Stannard
@Aaronontheweb
@/all for anyone interested in @jcwrequests's post about AOP for instrumenting monitoring in Akka.NET: http://www.message-flow.com/2015/01/monitoring-akkanet-based-systems.html
@Horusiath hmmm... can @jorgef replicate the issue?
because App.config loading is only automatic in /dev right now
Akka.NET v0.8 on NuGet doesn't do it
Bartosz Sypytkowski
@Horusiath
I'm testing explicit loading with F# Configuration.load() which is basically an alias for ConfigurationFactory.Load()
also, when @HCanber schedulers can be merged to dev branch?
Aaron Stannard
@Aaronontheweb
@Horusiath as soon as we figure out why @HCanber's pull request makes the system load performance counter throw an InvalidOperationException then I think we can move on
and merge it in
which is really weird, because his code doesn't even touch the performance counter definitions
at least in a way that's obvious
Bartosz Sypytkowski
@Horusiath
fu*k, I have to include JSON.NET converter for F# Expr but the problem is... Akka.FSharp has no direct dependency to JSON.NET :D
Roger Johansson
@rogeralsing
@Horusiath why do you need that? do you need to do some special handling with the F# expressions?
Bartosz Sypytkowski
@Horusiath
expression-based deciders i.e.
Roger Johansson
@rogeralsing
but isnt the akka serializer mechanics enough to deal with that? do you need to do actual json parsing/writing/annotations?
Bartosz Sypytkowski
@Horusiath
but this is so minor feature, I think I'll drop this idea untill there will be something more justifying reason to include Expr support for JSON.NET
NetwonSoftJsonSerializer will not know how to serialize F# quotation expressions
only FsPickler does
Roger Johansson
@rogeralsing
oh, and we removed fspickler?
Bartosz Sypytkowski
@Horusiath
no, but it used on top-level only, as attached akka serializer
expressions being properties of serialized objects won't work with it
Roger Johansson
@rogeralsing
ah, that should probably be possible to solve using the surrogate mechanism now. eg. FSExpressionDecider (containing expressions) -> FSExpressionDeciderSurrogate containing expressions pre serialized by fs pickler and stored as a string base64 or whatever in the surrogate., then the other way around, turn the base64 string into expressions and recreate the FSExpressionDecider
Bartosz Sypytkowski
@Horusiath
yes, but still it will work only for special case (Deciders), while leaving potential hole for other types of messages using expressions
jcwrequests
@jcwrequests
@rogeralsing That is and awesome way to do diagrams and map system flow and that is definitely more useful the any UML diagram.
jcwrequests
@jcwrequests
@Aaronontheweb @rogeralsing @Horusiath @HCanber @stefansedich The DI patch is working even with the AutoFac. Currently I am putting together some examples using the containers. Currently I have implement examples with HashPool and one with Child Actors for @tomstaijen. I want to add a few more examples and clean things up a bit before putting in a proper PR. @tomstaijen If you are interested or can't wait for the PR you can check out the latest here
Roger Johansson
@rogeralsing
/all are we really handling supervision correctly when it comes to restarting children? e.g. lets say we have the structure a -> b -> c where c is stashable. and actor c throws, b supervises but escallate to a.. A decides to restart b, b will now recreate c and thus we loose any stashing as it is no longer the same c.. is this the behavior in jvm akka too?
Bartosz Sypytkowski
@Horusiath
I think we should remove scheduling functions from F# API, after new schedulers API they have basically no value added
Bartosz Sypytkowski
@Horusiath
also @HCanber what is the relation between Scheduler and Scheduler.Advanced? Some tips, when which of them should be used?
Aaron Stannard
@Aaronontheweb
@rogeralsing you mean is it the right behavior for an actor to kill off its children during restarts?
jcwrequests
@jcwrequests
@Aaronontheweb Do you think I should add more examples or do you think this is enough? Any Advice before I put in my PR. Thanks
Aaron Stannard
@Aaronontheweb
I think that's probably good @jcwrequests