Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 20:18
    Aaronontheweb edited #4212
  • 20:18
    Aaronontheweb edited #4212
  • 20:14
    Aaronontheweb synchronize #4212
  • 19:50
    Aaronontheweb synchronize #4212
  • 18:42
    Aaronontheweb edited #4212
  • 18:42
    Aaronontheweb synchronize #4212
  • 17:37
    Aaronontheweb commented #4082
  • 17:37
    Aaronontheweb commented #4082
  • 17:22
    Aaronontheweb milestoned #4234
  • 17:22
    Aaronontheweb labeled #4234
  • 17:22
    Aaronontheweb labeled #4234
  • 17:22
    Aaronontheweb labeled #4234
  • 17:21
    Aaronontheweb opened #4234
  • 17:20
    Aaronontheweb commented #4211
  • 17:13
    Aaronontheweb synchronize #4212
  • 17:10
    Aaronontheweb synchronize #4211
  • 15:57
    Aaronontheweb commented #4232
  • 15:07
    Aaronontheweb closed #2345
  • 15:07
    Aaronontheweb commented #2345
  • 15:07
    Aaronontheweb demilestoned #2345
Asker
@NeotericDev
No problem, It could even be me doing something wrong somewhere. I will update you with the logs
Aaron Stannard
@Aaronontheweb
thanks bud
Asker
@NeotericDev
take some rest bro.
Vagif Abilov
@object
A small question: does it feel right implementing sagas that may take days by scheduling persistent actors? I.e. a persistent actor is scheduled to be awaken at some time by a certain message. Does this scheduled message survive system restart?
Bartosz Sypytkowski
@Horusiath
@object no, it won't. Scheduling works great for small intervals of time (subseconds to minutes, maybe hours)
for long periods, you could use quartz for akka
Vagif Abilov
@object
@Horusiath hmm, quartz. Never heard of it, will have to check out.
Bartosz Sypytkowski
@Horusiath
Vagif Abilov
@object
Thanks!
But there's nothing wrong with using perstistent actors for saga, is it? It's just a matter of right scheduling, correct?
Bartosz Sypytkowski
@Horusiath
yes
Vagif Abilov
@object
Thanks.
But isn't it overkill using another lib for relatively easy task? Because scheduling can also be implemented by introducing another persistent actor that would contain scheduling details.
Or maybe it will quickly become complex enough...
Bartosz Sypytkowski
@Horusiath
yes, it could - I was proposing to use persistent actors for long-range scheduling in the past, but no one has need/time to implement that
Vagif Abilov
@object
I see. I am looking at Quartz, you said "Quartz for Akka", I've found https://github.com/akkadotnet/Akka.Quartz.Actor, this one you meant?
Bartosz Sypytkowski
@Horusiath
yes, it has pretty simple implementation if I remember correctly
Vagif Abilov
@object
Looks like that, thanks again!
Vagif Abilov
@object
Looks like I am not correctly configuring SqlServer plugin for persistence queries. I am getting "Unable to create read journal plugin instance type Akka.Persistence.SqlServer.Journal.SqlServerJournal".
I am executing the following statement: PersistenceQuery.Get(system).ReadJournalFor<SqlReadJournal>("akka.persistence.journal.sql-server")
The SqlServer Akka plugin works fine for persistent actors and configured with plugin id "sql-server".
Isn't this sufficient for use in persistent queries?
Vagif Abilov
@object
OK, I managed to get rid of an exception by using plugin id "akka.persistence.query.journal.sql", but is this right? I am actually using an SQL Server plugin.
Vagif Abilov
@object
Eventually managed to get persistent queries with SQL Server plugin (yes, I had to use "akka.persistence.query.journal.sql" as plugin id). First experience is strange: it takes almost forever to execute AllPersistentIds for the first time - and I only have 300+ records in EventJournal. I have old custom code that does this quickly without using persistent queries, I was about to replace it with standard implementation but first I have to figure out why it is grotesquely slow. It returns within a few seconds only if I limit the number of results with Take(small_number), otherwise it takes minutes.
Bartosz Sypytkowski
@Horusiath
@object the reason for SQL read journal config is that there is only one, used by all SQL plugins (which are compatible with akka.persistence.query at least) - so you don't need to specify versions directed to different SQL databases
also for the case of AllPersistentIds - could you setup an issue?
wdspider
@wdspider
Is there an example project that uses the Cluster Sharding module? I'm having a bit of trouble envisioning how to use it.
Vagif Abilov
@object
@Horusiath yes, I will try to extract a small example and check if it's still so slow. Then I will create an issue.
Aaron Stannard
@Aaronontheweb
@wdspider yep, inside the main repo
Bartosz Sypytkowski
@Horusiath
btw. guys, I want to finish my CQRS/Eventsourcing akka sample - but it looks like I'm a very unimaginative person. I need some kind of simple event stormed scenario to program, something that could be used for learning purposes. Do you know anything about such scenarios?
Arsene
@Tochemey
Hello please what is the best practice in using await inside a Receive of an Actor?
wdspider
@wdspider
@Aaronontheweb found it, thanks :)
Aaron Stannard
@Aaronontheweb
noice
qwoz
@qwoz
@Tochemey Lots of discussions here as well as blog posts. Perhaps start with the top two results here https://duckduckgo.com/?q=site%3Apetabridge.com+await&ia=web and then ask for clarification on anything you still don't understand?
Aaron Stannard
@Aaronontheweb
my blog post on PipeTo vs. async / await is a bit out of date
wrote that before Akka.NET 1.0 :p
we support async / await inside Akka.NET actors now
didn't at the time
I would still use PipeTo, personally
qwoz
@qwoz
Yeah, though the drawbacks of blocking the actor are still there, correct?
Aaron Stannard
@Aaronontheweb
correct
they are
await has a cost associated with it
to11mtm
@to11mtm
@Horusiath I have some great ideas for eventsourcing examples but you'd be doing my work lol.
Arsene
@Tochemey
@qwoz I am just asking best practices. So far I have been using await inside my Receive. I just want to know whether it is recommended.
Aaron Stannard
@Aaronontheweb
I don't recommend it
wdspider
@wdspider
does the sharding stuff support multiple sets of actors? i.e. Actor A for Node Role A and Actor B for Node Role B ?
Aaron Stannard
@Aaronontheweb
avoid it if possible and use PipeTo instead
PipeTo doesn't block the actor