public void Exit(string nodeId) { var message = new CreateMessageInput { ApplicationName = "NULL", Name = Core.Entities.Message.ExitMessageName, NodeId = nodeId, TaskId = 0 }; Logger.Information($"Exit node: {nodeId}."); _messageAppService.Create(message); }
public void Create(CreateMessageInput input) { if (input == null) { Logger.LogError($"{nameof(input)} should not be null."); return; } var message = Mapper.Map <Core.Entities.Message>(input); DbContext.Message.Add(message); DbContext.SaveChanges(); Logger.LogWarning($"Crate message {JsonConvert.SerializeObject(input)} success."); }
public async Task <BlogResponse> CreateAsync(CreateMessageInput input) { var response = new BlogResponse(); await _messages.InsertAsync(new Message { Name = input.Name, Content = input.Content, Avatar = input.Avatar, UserId = input.UserId }); return(response); }
public async Task <ActionResult> SendMessage(int userId, string message) { var currentUserInfo = await _userService.Get(new EntityDto <long>(_AbpSession.GetUserId())); CreateMessageInput input = new CreateMessageInput { Content = message, RecieverId = userId, SenderId = currentUserInfo.Id }; await _messageService.Create(input); AppointmentHub.Static_Message(userId, currentUserInfo.FullName, message); return(Json(new AjaxResponse { Success = true })); }
/// <summary> /// 结束节点(作用??) /// </summary> /// <param name="nodeId"></param> public void Exit(string nodeId) { var node = DbContext.Node.FirstOrDefault(n => n.NodeId == nodeId); if (node != null) { var message = new CreateMessageInput { ApplicationName = "NULL", Name = Core.Entities.Message.ExitMessageName, NodeId = nodeId, TaskId = string.Empty }; Logger.Information($"Exit node: {nodeId}."); _messageAppService.Create(message); } else { throw new DotnetSpiderHubException("Node unfound."); } }
public static void ExitTask(INodeAppService nodeAppService, IMessageAppService messageAppService, Core.Entities.Task task, ILogger logger = null) { var runningNodes = nodeAppService.GetAllOnline(); var messages = new List<CreateMessageInput>(); foreach (var status in runningNodes) { var msg = new CreateMessageInput { ApplicationName = "NULL", TaskId = task.Id, Name = Core.Entities.Message.CanleMessageName, NodeId = status.NodeId }; logger?.Warning($"Add CANCLE message: {JsonConvert.SerializeObject(msg)}."); messages.Add(msg); } messageAppService.Create(messages); task.IsRunning = false; task.NodeRunningCount = 0; }
private string PushTask(Core.Entities.Task task) { var nodes = _nodeAppService.GetAvailable(task.Os, task.NodeType, task.NodeCount); if (nodes.Count == 0) { // TODO LOG return(null); } var identity = Guid.NewGuid().ToString("N"); var messages = new List <CreateMessageInput>(); foreach (var node in nodes) { var arguments = string.Concat(task.Arguments, task.IsSingle ? " --tid:" : " ", task.Id, task.IsSingle ? " -i:" : " ", identity); var msg = new CreateMessageInput { TaskId = task.Id, ApplicationName = task.ApplicationName, Name = Core.Entities.Message.RunMessageName, NodeId = node.NodeId, Package = task.Package, Arguments = arguments }; messages.Add(msg); } _messageAppService.Create(messages); var taskHistory = new AddTaskHistoryInput { Identity = identity, NodeIds = string.Join("|", nodes.Select(a => a.NodeId)), TaskId = task.Id }; _taskHistoryAppService.Add(taskHistory); return(identity); }
/// <summary> /// 添加信息 /// ================================ /// 业主通知:选择具体业主然后添加信息 /// 1. 记录CommunityId, BuildingId, FlatNoId, HomeOwerId /// 2. IsPublic = false /// 3. IsRead = false /// ================================ /// 公告:选择单元楼然后添加信息 /// 1. 记录CommunityId, BuildingId /// 2. FlatNoId, HomeOwerId为Null /// 3. IsPublic = true /// 4. IsRead = null /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task CreateMessage(CreateMessageInput input) { #region 公告 if (input.BuildingIds != null) { foreach (long buildingId in input.BuildingIds) { var building = await _buildingManager.BuildingRepository.GetAsync(buildingId); if (building != null) { var entity = new Message(CurrentUnitOfWork.GetTenantId(), input.Title, input.Content, input.FileArray, EMessageStatusTypeUtils.GetValue(input.Status), building.CommunityId, buildingId); await _manager.CreateAsync(entity); } } } #endregion #region 消息 if (input.BuildingIds != null) { foreach (var homeOwerDto in input.HomeOwerIds) { var community = await _communityManager.CommunityRepository.GetAsync(homeOwerDto.CommunityId); var building = await _buildingManager.BuildingRepository.GetAsync(homeOwerDto.BuildingId); var flatNo = await _flatNoManager.FlatNumberRepository.GetAsync(homeOwerDto.FlatNoId); if (community != null && building != null && flatNo != null) { var entity = new Message(CurrentUnitOfWork.GetTenantId(), input.Title, input.Content, input.FileArray, EMessageStatusTypeUtils.GetValue(input.Status), homeOwerDto.CommunityId, homeOwerDto.BuildingId, homeOwerDto.FlatNoId, homeOwerDto.HomeOwerId, community.Name, building.BuildingName, flatNo.FlatNo); await _manager.CreateAsync(entity); } } } #endregion }