Unverified Commit e837a73f authored by qiaozhanwei's avatar qiaozhanwei Committed by GitHub
Browse files

EnterpriseWeChatUtils modify (#2502)



* dispatch task fail will set task status failed

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,no worker condition , master will while ture wait for worker startup
2,worker response task status sync wait for result

* 1,task status statistics and process status statistics bug fix (#2357)
2,worker group bug fix

* 1,task status statistics and process status statistics bug fix (#2357)
2,worker group bug fix

* 1,task status statistics and process status statistics bug fix (#2357)
2,worker group bug fix

* 1,task status statistics and process status statistics bug fix (#2357)
2,worker group bug fix

* send mail error, #2466 bug fix

* send mail error, #2466 bug fix

* send mail error, #2466 bug fix

* send mail error, #2466 bug fix

* #2486 bug fix

* host and workergroup compatible

* EnterpriseWeChatUtils modify

* EnterpriseWeChatUtils modify

* EnterpriseWeChatUtils modify

Co-authored-by: default avatarqiaozhanwei <qiaozhanwei@analysys.com.cn>
parent 44770a87
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import org.apache.dolphinscheduler.common.enums.AlertType;
import org.apache.dolphinscheduler.common.enums.ShowType;
import org.apache.dolphinscheduler.dao.entity.Alert;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -54,11 +55,19 @@ public class EnterpriseWeChatUtilsTest {
    private static final String enterpriseWechatUsers="LiGang,journey";
    private static final String msg = "hello world";

    private static final String enterpriseWechatTeamSendMsg = "{\\\"toparty\\\":\\\"$toParty\\\",\\\"agentid\\\":\\\"$agentId\\\",\\\"msgtype\\\":\\\"text\\\",\\\"text\\\":{\\\"content\\\":\\\"$msg\\\"},\\\"safe\\\":\\\"0\\\"}";
    private static final String enterpriseWechatUserSendMsg = "{\\\"touser\\\":\\\"$toUser\\\",\\\"agentid\\\":\\\"$agentId\\\",\\\"msgtype\\\":\\\"markdown\\\",\\\"markdown\\\":{\\\"content\\\":\\\"$msg\\\"}}";

    @Test
    public void testIsEnable(){
    @Before
    public void init(){
        PowerMockito.mockStatic(PropertyUtils.class);
        Mockito.when(PropertyUtils.getBoolean(Constants.ENTERPRISE_WECHAT_ENABLE)).thenReturn(true);
        Mockito.when(PropertyUtils.getString(Constants.ENTERPRISE_WECHAT_USER_SEND_MSG)).thenReturn(enterpriseWechatUserSendMsg);
        Mockito.when(PropertyUtils.getString(Constants.ENTERPRISE_WECHAT_TEAM_SEND_MSG)).thenReturn(enterpriseWechatTeamSendMsg);
    }

    @Test
    public void testIsEnable(){
        Boolean weChartEnable = EnterpriseWeChatUtils.isEnable();
        Assert.assertTrue(weChartEnable);
    }
@@ -88,6 +97,7 @@ public class EnterpriseWeChatUtilsTest {

    @Test
    public void tesMakeUserSendMsg1(){

        String sendMsg = EnterpriseWeChatUtils.makeUserSendMsg(enterpriseWechatUsers, enterpriseWechatAgentId, msg);
        Assert.assertTrue(sendMsg.contains(enterpriseWechatUsers));
        Assert.assertTrue(sendMsg.contains(enterpriseWechatAgentId));
+23 −10
Original line number Diff line number Diff line
@@ -65,25 +65,24 @@ public class LoggerService {

    TaskInstance taskInstance = processService.findTaskInstanceById(taskInstId);

    if (taskInstance == null){
      return new Result(Status.TASK_INSTANCE_NOT_FOUND.getCode(), Status.TASK_INSTANCE_NOT_FOUND.getMsg());
    }

    String host = Host.of(taskInstance.getHost()).getIp();
    if(StringUtils.isEmpty(host)){
    if (taskInstance == null || StringUtils.isBlank(taskInstance.getHost())){
      return new Result(Status.TASK_INSTANCE_NOT_FOUND.getCode(), Status.TASK_INSTANCE_NOT_FOUND.getMsg());
    }

    String host = getHost(taskInstance.getHost());

    Result result = new Result(Status.SUCCESS.getCode(), Status.SUCCESS.getMsg());

    logger.info("log host : {} , logPath : {} , logServer port : {}",host,taskInstance.getLogPath(),Constants.RPC_PORT);

    String log = logClient.rollViewLog(host, Constants.RPC_PORT, taskInstance.getLogPath(),skipLineNum,limit);
    result.setData(log);
    logger.info(log);
    return result;
  }




  /**
   * get log size
   *
@@ -92,10 +91,24 @@ public class LoggerService {
   */
  public byte[] getLogBytes(int taskInstId) {
    TaskInstance taskInstance = processService.findTaskInstanceById(taskInstId);
    if (taskInstance == null){
      throw new RuntimeException("task instance is null");
    if (taskInstance == null || StringUtils.isBlank(taskInstance.getHost())){
      throw new RuntimeException("task instance is null or host is null");
    }
    String host = Host.of(taskInstance.getHost()).getIp();
    String host = getHost(taskInstance.getHost());

    return logClient.getLogBytes(host, Constants.RPC_PORT, taskInstance.getLogPath());
  }


  /**
   * get host
   * @param address address
   * @return old version return true ,otherwise return false
   */
  private String getHost(String address){
    if (Host.isOldVersion(address)){
      return address;
    }
    return Host.of(address).getIp();
  }
}
+10 −0
Original line number Diff line number Diff line
@@ -91,6 +91,16 @@ public class Host implements Serializable {
        return host;
    }

    /**
     * whether old version
     * @param address address
     * @return old version is true , otherwise is false
     */
    public static Boolean isOldVersion(String address){
        String[] parts = address.split(":");
        return parts.length != 2 ? true : false;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {