Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 26 22:33
    Arkatufus synchronize #5542
  • Jan 26 22:26
    Arkatufus synchronize #5542
  • Jan 26 22:13
    Arkatufus synchronize #5542
  • Jan 26 22:03
    Aaronontheweb labeled #5542
  • Jan 26 22:03
    Aaronontheweb edited #5542
  • Jan 26 22:02
    Aaronontheweb commented #5542
  • Jan 26 20:21
    Arkatufus edited #5542
  • Jan 26 20:20
    Arkatufus labeled #5542
  • Jan 26 20:20
    Arkatufus edited #5542
  • Jan 26 20:15
    Arkatufus opened #5542
  • Jan 26 17:33
    Aaronontheweb review_requested #5533
  • Jan 26 15:22
    mralexes commented #5541
  • Jan 26 12:04
    Aaronontheweb labeled #5541
  • Jan 26 12:04
    Aaronontheweb milestoned #5541
  • Jan 26 12:04
    Aaronontheweb commented #5541
  • Jan 26 11:56
    Aaronontheweb commented #5400
  • Jan 26 11:54
    Aaronontheweb commented #5541
  • Jan 26 11:53
    Aaronontheweb labeled #5541
  • Jan 26 11:53
    Aaronontheweb labeled #5541
  • Jan 26 11:08
    mralexes opened #5541
nbparrell
@nbparrell
code is here:
        var system = ActorSystem.Create("MySystem");
        var greeter = system.ActorOf<GreetingActor>("greeter");
        var greater = system.ActorOf<ActorGreeting>("greater");

        // send a message to the actor
        greeter.Tell(new Greet("World"));
        greeter.Tell(new Greet("Nick"));
        //greater.Tell(new Freak("Fish"));

        system.ActorSelection("akka://system/user/*er").Tell(new Greet("I am greeter"));
Marc Piechura
@marcpiechura
@nbparrel Try “akka://MySystem/user/*er”
nbparrell
@nbparrell
That worked. Thanks :). Is MySystem the root for every compilation of akka.net or is it set by user at some point?
Marc Piechura
@marcpiechura
Look at your first line a little bit closer 😜
Arsene
@Tochemey
Hello
nbparrell
@nbparrell
@marcpiechura Lol the perils of being new thanks for pointing that out. Makes more sense.
AltcoinsBattle
@AltcoinsBattle_twitter
@marcpiechura rewritten, with your second approach -> that works :) Await doesn't solve the issue .. The idea, if I have multiple sources : first of all I merge these sources (concat doesn't work), and then use ForEach with one method that processes all the different events that I interesting in! Thank you)
nathvi
@nathvi
Is it possible to send an Actor A from windows service S1 to windows service S2, and have that actor A be persisted when S2 is restarted.
?
I'm trying to come up with a good way to make a bunch of "dumb" service clients that pull their actors from some sort of actor registry.
Nick Polyderopoulos
@NickPolyder
Hello,
Is there somewhere a list with the currently available plugins for akka.net (For Example Persistence Plugins that were created by the community) ?
Aaron Stannard
@Aaronontheweb
@NickPolyder not in our docs
that'd be a good thing to add though
we do have AkkaNetContrib: https://github.com/akkanetcontrib
which has some
Nick Polyderopoulos
@NickPolyder
Yeap. It could at least have a list that are inside the core project. (For example i see that the core project has the Persistance for the SqlServer and Sqlite )
Havret
@Havret
How can I test PersistentFSM? Can I initialize it in specific state or feed it with specific evens as a part of my "arrange" test phase?
Lutando Ngqakaza
@Lutando

quick question

        // Parameters:
        //   handler:
        //     The message handler that is invoked for incoming messages of the specified type
        //     T. It should return trueif it handled/matched the message; false otherwise.

for

        protected void Receive<T>(Func<T, bool> handler);

if handler return false will the receive actor try to use another handler (down the list) if it matches the type?

Stijn Herreman
@stijnherreman
I'm about to attempt running Akka.NET in Azure Service Fabric, as a guest executable. Is it straightforward or will I run into some obstacles?
Arjen Smits
@Danthar
@stijnherreman if your not using remoting, should be straight forward.
Stijn Herreman
@stijnherreman
I am using remoting actually
still reading all the docs about service fabric, so haven't tried anything yet
nbparrell
@nbparrell
@marcpiechura Do you know what flavor of regex Akka.net is using?
Havret
@Havret
Is there any way to GoTo previous state in PersistentFSM?
Marc Piechura
@marcpiechura
@nbparrell not sure what you mean :)
nbparrell
@nbparrell
I figured it out. Was trying to use a negative backwards lookup and they are not supported by C# from what I have read. @marcpiechura
AndreSteenbergen
@AndreSteenbergen
I am trying to create a proxyactor, because I have a remote system with references I don't want in all my console apps. But I keep getting this error after the first message
, IWithUnboundedStash
An exception occurred while trying to apply plugin of type Akka.Actor.ActorStashPlugin to the newly created actor (Type = AnalyserService.Actors.Analyser
Cause: System.NotSupportedException: DequeBasedMailbox required, got: Mailbox
I am making the proxy actor like this:
public class ActorProxy : ReceiveActor
{
    public ActorProxy(string typeName, string actorName, params object[] constructorParameters)
    {
        var actorBaseType = typeof(ActorBase);
        var t = Type.GetType(typeName);

        if (!t.IsSubclassOf(actorBaseType))
        {
            Console.WriteLine($"{t} is not a subtype of actorbase");
            throw new ArgumentException("typeName");
        }

        //try and find an actor by type
        IActorRef targetActor = Context.ActorOf(Props.Create(() => (ActorBase)Activator.CreateInstance(t, constructorParameters)), actorName);

        Console.WriteLine(targetActor);
        ReceiveAny((msg) => {
            targetActor.Tell(msg, Sender);
        });
    }
}
All is well until I make the target actor IWithUnboundedStash
Any ideas?
Bartosz Sypytkowski
@Horusiath
@AndreSteenbergen did you configured a custom mailbox?
AndreSteenbergen
@AndreSteenbergen
no
that's the weird thing, or do I need to do that
AndreSteenbergen
@AndreSteenbergen
Thanks, just forced a mailbox using the withMailbox as parameter, works as a charm.

I do have 1 thing I don't know if it's a bug or something else, I occasionally see this error, after that the flow just stops ... I am using the example of the web crawler

[ERROR][11-4-2018 10:47:00][Thread 0018][akka://crawler/remote/akka.tcp/crawler@127.0.0.1:61662/user/api/XXXXXXX/coordinators/c1/StreamSupervisor-1/Flow-0-1-actorRefSource] The LinkedList is empty.
Cause: System.InvalidOperationException: The LinkedList is empty.
at System.Collections.Generic.LinkedList1.RemoveLast() at Akka.Streams.Implementation.ActorRefSourceActor1.ReceiveElement(T message)
at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
at Akka.Actor.ActorCell.ReceiveMessage(Object message)
at Akka.Actor.ActorCell.Invoke(Envelope envelope)

I can't seem to pinpoint the problem. And I don't know is it's a bug in my code or akka.net. I did tweak the numbers a bit, to not let websites crash. The code example really is a crawler of doom ;)
AndreSteenbergen
@AndreSteenbergen
250 per minute with 2 maxconcurrent.
        var htmlFlow = Flow.Create<PageToCrawl>()
            .Throttle(job.Config.ThottleAmount, job.Config.PerTimeUnit, job.Config.ThottleAmount, ThrottleMode.Shaping)
            .Via(DownloadFlow.ProcessHtmlDownloadFor(MaxConcurrentDownloads, job, pageRequester));
AndreSteenbergen
@AndreSteenbergen
When that happens the entire actor won't receive anything anymore
or the stream at least
AndreSteenbergen
@AndreSteenbergen
I have a near infinite buffer: var source = Source.ActorRef<PageToCrawl>(int.MaxValue, OverflowStrategy.DropTail);
AndreSteenbergen
@AndreSteenbergen
I did find RemoveLast is called by DropTail, but I know for sure I have not reached int.MaxValue items in the buffer.
Marc Piechura
@marcpiechura
@AndreSteenbergen could you try to reproduce it in a simpler example?
AndreSteenbergen
@AndreSteenbergen
I tried ....
It isn't actually that hard, it's also doesn't happen evry time
30% of the time I have a crawl of about 600 pages
I have also tried debug messages, but the actors are quite chatty in debug mode. Can't seem to find any useful data
AndreSteenbergen
@AndreSteenbergen
Or can it be as simple of choosing a smaller buffer e.g. 2048 * 2048? 4 million in that queue is quite a lot I guess ...