Does Akka have a built-in solution to collect answers from a Broadcast router?


The answer kind of depends on what you mean by "collecting" the answers.

If you need to aggregate them (which it sounds like you do), that would eventually need to happen in one actor. This means that your 1 million answers will all queue up on the single actor and it will become a hotspot.

If you can tolerate slightly slower reads, another possibility is to have multiple counter actors, which are themselves part of a router (lets say RoundRobin for now). This divides up the counting to multiple actors, but now to get the real total count you would have to ask all of the actors and aggregate them at read time. This strategy could be beneficial if you want to record a lot of "answers", but only read them occasionally when latency may be less important.



Batch file fails when solution is built by Jenkis, but works when solution is built via command line

At the end, it seems that the issue was that there was a duplicate workspace folder.
1 was updated, and the other 1 was built, resulting the tested workspace did not get latest updates.
according to this link this was due to the way jenkins behaves with multiple configurations.


How to change Akka router size?

I think a Resizer could be something you could try to give you elasticity in your router pools to handle bursts of load. If you wanted to programmatically setup a router with a resizer, then that would look something like this (taken from Akka example on Routing docs):

val resizer = DefaultResizer(lowerBound = 2, upperBound =
15)
val router3 = system.actorOf(Props[ExampleActor1].withRouter(
  RoundRobinRouter(resizer = Some(resizer))))

In this example, the pool will start out with 2 routees, but can scale up to 15 based on the volume of messages passing through the head of the router pool. You could also do this straight from your akka config. If you had config like this (again from Akka docs):

akka.actor.deployment {
  /myrouter2 {
    router = round-robin
    resizer {
      lower-bound = 2
      upper-bound = 15
    }
  }
}

Then you could setup your pool like this to take advantage of the config:

val router =
system.actorOf(Props[ExampleActor].withRouter(FromConfig()),
"myrouter2")

Check out the docs that I linked to for more info on how to setup a Resizer for your pools. Hopefully this is a solution that meets your needs.


Solution not getting built in team explorer when I add project outside the solution folder

Your workspace mapping for the build definition must include the new project. The build is telling you the truth - it can't find the .csproj file because only those files in the workspace mappings will be fetched - and that doesn't include your new project.


How to use custom Router in Akka 2.3?

Documentation does not mention about when you inherit from CustomRouterConfig, Akka engine does not create routees for you. Therefore nothing routes your messages. I would do that way:

class SpecificRoutingLogic extends RoutingLogic {
  override def select(message: Any, routees: IndexedSeq[Routee]):
Routee = {
    val selected = routees.take(5)
    if(selected.isEmpty) NoRoutee
    else selected
  }
}
class SectionSpecificAttendantRouter(nrOfInstances: Int) extends Pool
{
  this: FlightAttendantProvider =>

  override def routerDispatcher: String =
Dispatchers.DefaultDispatcherId

  override def createRouter(system: ActorSystem): Router =
    new Router(new SpecificRoutingLogic())
  }
}

I've changed SectionSpecificAttendantRouter extends now Pool not CustomRouterConfig due to issue I've wrote above. When you have this implementation (I think thats all) you create Router you have to do somethin like this SectionSpecificAttendantRouter(5).props(Props[YourWorker]) - this code have to be invoked inside for example system.actorOf() to create concrete router. Remember, if you want to inherit directly from CustomRouterConfig you have to implement creating Routees by yourself. Take a look at class akka.routing.RoutedActorCell particulary method start(). If you use something than Pool or Group you have to do some initialization stuff by yourself.


Scala-Akka: Log all messages passing by a router

To enable message logging modify your receive like:

def receive = LoggingReceive {
                // your normal receive here
              }

source

For routing actors one can supply an actor implementing RouterLogic in the RouterConfig routingLogicController()

/**

"Possibility to define an actor for controlling the routing logic from external stimuli (e.g. monitoring metrics)."

I assume that there are already some tools (e.g. Kamon) out there that will do the monitoring part for you, through instrumentation


Does Akka have a built-in solution to collect answers from a Broadcast router?

The answer kind of depends on what you mean by "collecting" the answers.

If you need to aggregate them (which it sounds like you do), that would eventually need to happen in one actor. This means that your 1 million answers will all queue up on the single actor and it will become a hotspot.

If you can tolerate slightly slower reads, another possibility is to have multiple counter actors, which are themselves part of a router (lets say RoundRobin for now). This divides up the counting to multiple actors, but now to get the real total count you would have to ask all of the actors and aggregate them at read time. This strategy could be beneficial if you want to record a lot of "answers", but only read them occasionally when latency may be less important.



- Technology - Languages
+ Webmasters
+ Development
+ Development Tools
+ Internet
+ Mobile Programming
+ Linux
+ Unix
+ Apple
+ Ubuntu
+ Mobile & Tablets
+ Databases
+ Android
+ Network & Servers
+ Operating Systems
+ Coding
+ Design Software
+ Web Development
+ Game Development
+ Access
+ Excel
+ Web Design
+ Web Hosting
+ Web Site Reviews
+ Domain Name
+ Information Security
+ Software
+ Computers
+ Electronics
+ Hardware
+ Windows
+ PHP
+ ASP/ASP.Net
+ C/C++/C#
+ VB/VB.Net
+ JAVA
+ Javascript
+ Programming
Privacy Policy - Copyrights Notice - Feedback - Report Violation 2018 © BigHow