private void ProcessRequest(AttributionRequest request) { var processOnsetActorProps = Props.Create(() => new ProcessOnsetActor()); IActorRef processOnsetActor = Context.ActorOf(processOnsetActorProps.WithRouter(FromConfig.Instance), "ProcessOnsetActor"); //processOnsetActor.ActorOf(processOnsetActorProps.WithRouter(FromConfig.Instance), "remoteactor1"); }
public string Get() { var request = new AttributionRequest() { FundId = 1, }; InitiateProcess(request); return("welcome"); }
private void InitiateProcess(AttributionRequest request) { IActorRef requestHandlerActor = AkkaComponents.RequestHandlerActor; //IEnumerable<Routee> routees; //do //{ // Thread.Sleep(1000); // routees = requestHandlerActor.Ask<Routees>(new GetRoutees()).Result.Members; //} while (routees.Any() == false); requestHandlerActor.Tell(request); }
private void Handler(AttributionRequest requestMsg) { unsafe { try { var requestId = requestMsg.RequestId; var currActor_uid = Context.Self.Path.Uid.ToString(); var senderActor_uid = Sender.Path.Uid.ToString(); var nodeAddr = string.Format("{0}:{1}", Sender.Path.Address.Host, Sender.Path.Address.Port); var self = Context.Self; var parent = Context.Parent; var sys = Context.System; TypedReference typeRef = __makeref(requestMsg); IntPtr ptr = **(IntPtr **)(&typeRef); string msgAddr = ptr.ToString(); long msgAddrInt = ptr.ToInt64(); string logMsg = string.Format("{0}Some message received. Request_id: {1}, CurrentActor: {2}, Sender: {3}, Obj address: {4}, Node: {5}", Environment.NewLine, requestId, self.ToString(), senderActor_uid, msgAddr, nodeAddr); string filename = string.Format("TestFile-{0}.txt", currActor_uid); string filePath = string.Format("{0}{1}", ConfigurationManager.AppSettings["TestFilePath"], filename); File.AppendAllText(filePath, logMsg); //Logger.Info(logMsg); _logWriterActor.Tell(requestMsg); } catch (Exception ex) { throw ex; } } }
private static void RequestAttributionAPI(int requestId) { var clusterAPIBaseAddress = ConfigurationManager.AppSettings["ClusterAPIAddress"]; var requestURI = ConfigurationManager.AppSettings["ClusterAPIPostRequestURI"]; AttributionRequest request = GetRequest(requestId); var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); client.BaseAddress = new Uri(clusterAPIBaseAddress); //HttpResponseMessage response = client.GetAsync(requestURI).Result; HttpResponseMessage response = client.PostAsJsonAsync(requestURI, content).Result; if (response.IsSuccessStatusCode) { Console.WriteLine("Request processed."); } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } Thread.Sleep(100); }