Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 15 23:37
    dependabot[bot] synchronize #5012
  • May 15 23:37

    dependabot[bot] on nuget

    Bump Google.Protobuf from 3.16.… (compare)

  • May 15 23:37
    dependabot[bot] edited #5012
  • May 15 23:36
    Aaronontheweb commented #5012
  • May 15 23:36
    dependabot[bot] edited #5012
  • May 15 18:54

    Aaronontheweb on dev

    Enable skipped batching SQLite … (compare)

  • May 15 18:54
    Aaronontheweb closed #5017
  • May 14 23:27
    Arkatufus edited #5017
  • May 14 23:27
    Arkatufus edited #5017
  • May 14 23:27
    Arkatufus opened #5017
  • May 14 23:13
    Arkatufus closed #5016
  • May 14 23:04
    Arkatufus opened #5016
  • May 14 22:13
    Arkatufus labeled #5014
  • May 14 22:13
    Arkatufus assigned #5014
  • May 14 22:06
    Arkatufus synchronize #5014
  • May 14 22:03
    Arkatufus synchronize #5014
  • May 14 20:56

    Aaronontheweb on dev

    [RACY] LoggerSpec TestOutputLog… (compare)

  • May 14 20:56
    Aaronontheweb closed #5015
  • May 14 20:56
    Aaronontheweb labeled #5015
  • May 14 20:44
    Arkatufus synchronize #5015
jcwrequests
@jcwrequests
Otherwise they have been really simple to setup and test.
Aaron Stannard
@Aaronontheweb
glad to hear it!
jcwrequests
@jcwrequests
They work perfectly with the IOC extensions.
Aaron Stannard
@Aaronontheweb
that reminds me, btw - did you get a chance to see this issue about IOC? akkadotnet/akka.net#706
err, DI
jcwrequests
@jcwrequests
Nope. I will take a look.
Aaron Stannard
@Aaronontheweb
ty sir
jcwrequests
@jcwrequests
Actually I brought this up in the google group before I started the project.
Because Props controls everything there is no way to implement a proper release strategey.
Aaron Stannard
@Aaronontheweb
yeah, I seem to recall that
It's a common problem with frameworks. I believe early editions of MVC had the same issue.
Aaron Stannard
@Aaronontheweb
I think we added IDisposable support for actors since
which @Horusiath mentions in his answer
not ideal because it's explicit
but still, something
really all three of @Horusiath's strategies are good ones
I thought about using the actor construction pipeline for tackling that, so I'm glad he brought it up
jcwrequests
@jcwrequests
It's probably a problem as well on the JVM side and since Akka.net is based on it that baggage came along with it.
Aaron Stannard
@Aaronontheweb
yeah
I have no idea how they do DI
jcwrequests
@jcwrequests
The same way. I based my code on the implementation.
Aaron Stannard
@Aaronontheweb
nice
well in that case, it's a buyer-beware thing for akka.net
just like akka
and frankly I think that's an ok place to start
as nice as it would be to have automatic scoping for releasing injected resources
might not be feasible atm
jcwrequests
@jcwrequests
What would be nice if we could pass a lambda to the actor system that could be used by the supervisor to release references. Basically that is all that is really needed.
Aaron Stannard
@Aaronontheweb
hmmmm
you know
THAT might be doable
depends on what the lambda has to do
if you could put together a little proposal for doing that, @HCanber / @Horusiath / @rogeralsing might have some ideas on how that can be done
jcwrequests
@jcwrequests
It's just has to take the actor reference and call something like release(Actor).
Aaron Stannard
@Aaronontheweb
maybe it can get imbedded into Props by the IndirectActorProducer
and the ActorCell can call it on the actor itself during the restart / shutdown
since the ActorCell sits outside of the ActorRef
and the actor instance
so it can still be a self-contained concern
done as part of the Terminate step
jcwrequests
@jcwrequests
Makes sense to me.
If you get that to work you can make the JVM guys jealous. :smile:
Aaron Stannard
@Aaronontheweb
I think that would be neat. You should propose it - I think it'd be a popular idea.
jcwrequests
@jcwrequests
If you can point in me in the right direction in the code base I will o just that. It was something I wanted to do the first time but I was not familiar enough with all the inner workings.
Maybe I could use NDepend to help me out with that. It's been something on my back burner for a while and the guy who owns company gave me a free copy and I been meaning to do a blog post on it to repay him for his generosity. I have to sign off but I will start taking a look again and see what can be done. Cheers
Håkan Canberger
@HCanber
@Horusiath Sorry, missed your question. Yes I got started on the CircuitBreaker, as I needed one at work. More important things got in between though, so I haven't finished it. :( I've based mine on Akka's and supports a bit more than yours does (callbacks for example), and I've created a base class so one can add more states (for example the CB is in a BeingInitialized before it's closed for the first time)
Looking at your code, it seems to me that you have a few race conditions. Is your CB intended to be used from inside one actor instance only?
Bartosz Sypytkowski
@Horusiath
I've already presented my opinion in #706. I think we could build a pipeline plugin for DI frameworks and release disposable resources in it's BeforeIncarnated (it's called just before actor itself is disposed and destroyed/respawned).
@HCanber it's not an Akka specific, I need it for more general purpose works with projects not using Akka. Where do you see possible race conditions?