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");
        }
Exemplo n.º 2
0
        public string Get()
        {
            var request = new AttributionRequest()
            {
                FundId = 1,
            };

            InitiateProcess(request);

            return("welcome");
        }
Exemplo n.º 3
0
        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;
                }
            }
        }
Exemplo n.º 5
0
        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);
        }