public async Task <ConcurrentBag <ResponseSend> > Run() { ConcurrentBag <ResponseSend> resultError = new ConcurrentBag <ResponseSend>(); Guid jobid = Guid.Empty; try { var jobRunHandler = GetJobRun(); List <AccountSend> accountsenders = await GetAccountsAppMessagers(); RequestJob job = new RequestJob(); foreach (var item in accountsenders) { job = new RequestJob { AccountSend = item, Retry = resultError }; jobRunHandler.Post(job); } jobRunHandler.Complete(); await jobRunHandler.Completion; await _taskService.TaskSchedulerRepository.Complete(_jobid); } catch (Exception e) { //resultError.IsError = true; // resultError.Message = e.Message; } finally { } return(resultError); }
async public Task <IActionResult> RequestJob([FromBody] RequestJob job, [FromHeader] string authorization) { Account org = await jWTService.GetAccount(authorization); if (org == null) { return(Unauthorized(new { success = false, code = 401, error = "Unauthorized" })); } if (org.ma_dn == null) { return(Forbid("Forbidden")); } job.ma_cong_ty = org.ma_dn; RequestJob requestJob = await requestJobRepository.Create(job); if (requestJob == null) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(new { success = true })); }
public async Task ImportAsync(RequestJob requestJob, IEnumerable <RequestHeader> headers) { using (var unit = IoC.Resolve <IUnitOfWork>()) { var headersToAdd = new List <RequestHeader>(); foreach (var header in headers) { if (header != null) { headersToAdd.Add(await unit.Resolve <IRequestHeaderModule>().AddOrUpdateAsync(header)); } } headersToAdd = headersToAdd.Where(x => x != null).ToList(); requestJob.Headers = headersToAdd; await unit.Resolve <IRequestJobModule>().AddOrUpdateAsync(requestJob); } }
static void Main(string[] args) { Console.Title = "DistributePubSub.JobRequester"; var config = HoconLoader.ParseDefaultConfig().WithFallback(DistributedPubSub.DefaultConfig()); var system = ActorSystem.Create("mirerosystem", config); var generator = system.ActorOf(Props.Create <JobRequesterActor>(), "distributor"); system.Run(wait: false); Console.WriteLine("any alphabet will be published in 1-to-n way"); Console.WriteLine("any number will be published in 1-to-1 way"); Console.WriteLine("'q' to quit..."); var input = Console.ReadLine(); while (input != "q") { var job = new RequestJob(input); generator.Tell(job); input = Console.ReadLine(); } }
public static WincalXConnector execute(string path) { WincalXConnector.InitializeConnector(ConfigurationPath: path); WincalXConnector Connector = WincalXConnector.GetConnector(); //Connect Status Changed Handler Connector.ConnectionStatusChanged += (Sender, Status) => { logger.Info($"Connect {Setting.env} environment: {Status.IsConnect}"); }; //Check Received Request Connector.ReceivedRequest += (Sender, Message) => { MessageInfo messageInfo = Message.MessageInfo; DeviceLinkMsgProps args = Message.DeviceLinkMsgProps; RequestJob requestJob = messageInfo.RequestJob; logger.Info($"\n\n{DateTime.Now} COMMON MESSAGE INFO >>>DEVICE_ID: {Message.DeviceId}, Command: {messageInfo.Command}"); VOD.BasicParameters basicMsg = Utility.DeserializeFromJsonString <VOD.BasicParameters>(messageInfo.BasicParameters); logger.Info($"MESSAGE Basic parameters >>> {messageInfo.BasicParameters}"); logger.Info($"MESSAGE Extend parameters >>> {messageInfo.ExtendParameters}"); basicMsg.ResultFlag = 0; requestJob.Status = RequestJobConst.RECEIVED; switch (messageInfo.Command) { case "2004": // card issue case "2006": // card issue Card.Issue.ExtendParam CardIssueExtendParam = new Card.Issue.ExtendParam { numberOfIssue = 1 }; MessageInfo cardIssueResponseMsg = new MessageInfo { Id = messageInfo.Id, Command = messageInfo.Command, CreatedTime = Utility.ToUnixTime(DateTime.Now), BasicParameters = Utility.SerializeToJSONString(basicMsg), ExtendParameters = Utility.SerializeToJSONString(CardIssueExtendParam), RequestJob = requestJob }; logger.Info($"MESSAGE Response Basic parameters >>> {messageInfo.BasicParameters}"); logger.Info($"MESSAGE Response Extend parameters >>> {messageInfo.ExtendParameters}"); _ = Connector.Response(cardIssueResponseMsg, args); //Response a request from server. Thread.Sleep(2000); requestJob.Status = RequestJobConst.DONE; _ = Connector.Request(cardIssueResponseMsg); //Request to the server. break; case "2007": // card-read basicMsg.RoomNumbers = new List <string>() { "0610", "0301219" }; Card.Read.ExtendParam CardReadExtendParam = new Card.Read.ExtendParam { checkinDateTime = "202103301200", checkoutDateTime = "202103301230", posInformation = new Card.PosInfoExParam { inType = "$ ", cardType = 0, systemCode = "getCardPrintingHotelCode", roomNumber = "07000" } }; MessageInfo cardReadResponseMsg = new MessageInfo { Id = messageInfo.Id, Command = messageInfo.Command, CreatedTime = Utility.ToUnixTime(DateTime.Now), BasicParameters = Utility.SerializeToJSONString(basicMsg), ExtendParameters = Utils.serializeObjectSnakeJson(CardReadExtendParam), RequestJob = requestJob }; logger.Info($"MESSAGE Response Basic parameters >>> {messageInfo.BasicParameters}"); logger.Info($"MESSAGE Response Extend parameters >>> {messageInfo.ExtendParameters}"); _ = Connector.Response(cardReadResponseMsg, args); //Response a request from server. Thread.Sleep(2000); requestJob.Status = RequestJobConst.DONE; break; case "PRINTER_REPORT_REQUEST": case "PRINTER_RECEIPT_REQUEST": case "2014": // Print Receipt case "2015": // Print Report Printer.Message printerMessage = Utility.DeserializeFromBSON <Printer.Message>(messageInfo.Message); logger.Info($"PRINTER MESSAGE Extend parameters >>> {messageInfo.ExtendParameters}"); Printer.BasicParameter basicParameter = new Printer.BasicParameter(Message.StoreCode, Message.TerminalId, 0); requestJob.Status = RequestJobConst.RECEIVED; MessageInfo responseMessage = new MessageInfo { Id = messageInfo.Id, Command = messageInfo.Command, CreatedTime = Utility.ToUnixTime(DateTime.Now), BasicParameters = Utility.SerializeToJSONString(basicParameter), RequestJob = requestJob }; _ = Connector.Response(responseMessage, args); //Response a request from server. Thread.Sleep(2000); requestJob.Status = RequestJobConst.DONE; _ = Connector.Request(responseMessage); //Request to the server. break; case "1001": case "1002": case "1003": case "1004": case "1005": case "1006": case "1007": case "1008": case "1009": case "1010": case "1011": case "1012": case "1013": case "1014": case "1015": case "1016": case "1017": VOD.BasicParameters vodMessage = Utility.DeserializeFromJsonString <VOD.BasicParameters>(messageInfo.BasicParameters); logger.Info($"VOD MESSAGE Basic parameters >>> {messageInfo.BasicParameters}"); vodMessage.ResultFlag = 0; requestJob.Status = RequestJobConst.RECEIVED; MessageInfo vodResponseMessage = new MessageInfo { Id = messageInfo.Id, Command = messageInfo.Command, CreatedTime = Utility.ToUnixTime(DateTime.Now), BasicParameters = Utility.SerializeToJSONString(vodMessage), RequestJob = requestJob }; _ = Connector.Response(vodResponseMessage, args); //Response a request from server. Thread.Sleep(2000); requestJob.Status = RequestJobConst.DONE; _ = Connector.Request(vodResponseMessage); //Request to the server. break; default: logger.Info($"MESSAGE >>> ID: {messageInfo.Id}, Command: {messageInfo.Command}, CreateTime: {messageInfo.CreatedTime}"); break; } }; //Handling Error Message Connector.ErrorListener += (Sender, Message) => { MessageInfo messageInfo = Message.MessageInfo; DeviceLinkMsgProps args = Message.DeviceLinkMsgProps; logger.Info($"ERROR MESSAGE INFO >>>DEVICE_ID: {Message.DeviceId}, ID: {messageInfo.Id}, Command: {messageInfo.Command}, Message: {messageInfo.Message} ,CreateTime: {messageInfo.CreatedTime}"); logger.Info($"ERROR REQUEST INFO >>>ID: {messageInfo.RequestJob.Id}, STATUS: {messageInfo.RequestJob.Status}"); }; return(Connector); }