• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java IntervalCheck类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.alibaba.jstorm.utils.IntervalCheck的典型用法代码示例。如果您正苦于以下问题:Java IntervalCheck类的具体用法?Java IntervalCheck怎么用?Java IntervalCheck使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IntervalCheck类属于com.alibaba.jstorm.utils包,在下文中一共展示了IntervalCheck类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: open

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public void open(Map conf, TopologyContext context,
		SpoutOutputCollector collector) {
	batchQueue = new LinkedBlockingQueue<BatchSpoutMsgId>();
	this.collector = collector;
	this.conf = conf;
	taskName = context.getThisComponentId() + "_" + context.getThisTaskId();
	
	intervalCheck = new IntervalCheck();

	try {
		zkClient = BatchCommon.getZkClient(conf);

		initMsgId();

	} catch (Exception e) {
		LOG.error("", e);
		throw new RuntimeException("Failed to init");
	}
	LOG.info("Successfully open " + taskName);
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:23,代码来源:BatchSpoutTrigger.java


示例2: open

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@Override
public void open(Map conf, TopologyContext context,
		SpoutOutputCollector collector) {
	batchQueue = new LinkedBlockingQueue<BatchSpoutMsgId>();
	this.collector = collector;
	this.conf = conf;
	taskName = context.getThisComponentId() + "_" + context.getThisTaskId();
	
	intervalCheck = new IntervalCheck();

	try {
		zkClient = BatchCommon.getZkClient(conf);

		initMsgId();

	} catch (Exception e) {
		LOG.error("", e);
		throw new RuntimeException("Failed to init");
	}
	LOG.info("Successfully open " + taskName);
}
 
开发者ID:songtk,项目名称:learn_jstorm,代码行数:22,代码来源:BatchSpoutTrigger.java


示例3: TaskHeartbeatTrigger

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public TaskHeartbeatTrigger(Map conf, String name, DisruptorQueue queue, BlockingQueue<Object> controlQueue, int taskId, String componentId,
        TopologyContext sysTopologyCtx, ITaskReportErr reportError) {
    this.name = name;
    this.queue = queue;
    this.controlQueue = controlQueue;
    this.opCode = TimerConstants.TASK_HEARTBEAT;

    this.taskId = taskId;
    this.componentId = componentId;
    this.sysTopologyCtx = sysTopologyCtx;

    this.frequence = JStormUtils.parseInt(conf.get(Config.TASK_HEARTBEAT_FREQUENCY_SECS), 10);
    this.firstTime = frequence;

    this.executeThreadHbTime = TimeUtils.current_time_secs();
    this.taskHbTimeout = JStormUtils.parseInt(conf.get(Config.NIMBUS_TASK_TIMEOUT_SECS), 180);
    this.intervalCheck = new IntervalCheck();
    this.intervalCheck.setInterval(taskHbTimeout);
    this.intervalCheck.start();

    this.reportError = reportError;

    this.uptime = new UptimeComputer();
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:25,代码来源:TaskHeartbeatTrigger.java


示例4: open

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@Override
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
    batchQueue = new LinkedBlockingQueue<BatchSpoutMsgId>();
    this.collector = collector;
    this.conf = conf;
    taskName = context.getThisComponentId() + "_" + context.getThisTaskId();

    intervalCheck = new IntervalCheck();

    try {
        zkClient = BatchCommon.getZkClient(conf);

        initMsgId();

    } catch (Exception e) {
        LOG.error("", e);
        throw new RuntimeException("Failed to init");
    }
    LOG.info("Successfully open " + taskName);
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:21,代码来源:BatchSpoutTrigger.java


示例5: RollingWindow

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
RollingWindow(V defaultValue, int interval, int windowSecond, Updater<V> updater, Merger<V> merger) {
    this.startTime = System.currentTimeMillis();
    this.interval = interval;
    this.intervalCheck = new IntervalCheck();
    this.intervalCheck.setInterval(interval);
    this.currBucketTime = getCurrBucketTime();

    this.bucketNum = windowSecond / interval;
    this.windowSecond = (bucketNum) * interval;

    this.buckets = new TreeMap<Integer, V>();

    this.updater = updater;
    this.merger = merger;

    this.defaultValue = defaultValue;

}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:19,代码来源:RollingWindow.java


示例6: init

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public void init() {
    if (defaultValue == null || updater == null || merger == null || convertor == null) {
        throw new IllegalArgumentException("Invalid argements");
    }

    rollingWindows = new ArrayList<RollingWindow<V>>();
    if (windowSeconds != null) {
        rollingWindows.clear();
        for (int windowSize : windowSeconds) {
            RollingWindow<V> rollingWindow = new RollingWindow<V>(defaultValue, windowSize / bucketSize, windowSize, updater, merger);

            rollingWindows.add(rollingWindow);
        }

    }
    allWindow = new AllWindow<V>(defaultValue, updater, merger);

    this.interval = getInterval();
    this.intervalCheck = new IntervalCheck();
    this.intervalCheck.setInterval(interval);
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:22,代码来源:Metric.java


示例7: MkLocalShuffer

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public MkLocalShuffer(List<Integer> workerTasks, List<Integer> allOutTasks,
                      WorkerData workerData) {
    super(workerData);
    List<Integer> localOutTasks = new ArrayList<Integer>();

    for (Integer outTask : allOutTasks) {
        if (workerTasks.contains(outTask)) {
            localOutTasks.add(outTask);
        }
    }
    this.workerData = workerData;
    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(60);

    if (localOutTasks.size() != 0) {
        this.outTasks = localOutTasks;
        isLocal = true;
    } else {
        this.outTasks = new ArrayList<Integer>();
        this.outTasks.addAll(allOutTasks);
        refreshLocalNodeTasks();
        isLocal = false;
    }
    randomrange = new RandomRange(outTasks.size());
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:26,代码来源:MkLocalShuffer.java


示例8: TaskHeartbeatTrigger

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public TaskHeartbeatTrigger(Map conf, String name, DisruptorQueue controlQueue, int taskId, String componentId,
                            TopologyContext sysTopologyCtx, ITaskReportErr reportError, TaskStatus executorStatus) {
    this.name = name;
    this.queue = controlQueue;
    this.opCode = TimerConstants.TASK_HEARTBEAT;

    this.taskId = taskId;
    this.componentId = componentId;
    this.sysTopologyCtx = sysTopologyCtx;

    this.frequency = JStormUtils.parseInt(conf.get(Config.TASK_HEARTBEAT_FREQUENCY_SECS), 10);
    this.firstTime = 0;

    this.executeThreadHbTime = TimeUtils.current_time_secs();
    this.taskHbTimeout = JStormUtils.parseInt(conf.get(Config.NIMBUS_TASK_TIMEOUT_SECS), 180);
    this.intervalCheck = new IntervalCheck();
    this.intervalCheck.setInterval(taskHbTimeout);
    this.intervalCheck.start();

    this.reportError = reportError;

    this.uptime = new UptimeComputer();
    this.executorStatus = executorStatus;
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:25,代码来源:TaskHeartbeatTrigger.java


示例9: open

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@Override
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
    batchQueue = new LinkedBlockingQueue<>();
    this.collector = collector;
    this.conf = conf;
    taskName = context.getThisComponentId() + "_" + context.getThisTaskId();

    intervalCheck = new IntervalCheck();
    try {
        zkClient = BatchCommon.getZkClient(conf);
        initMsgId();
    } catch (Exception e) {
        LOG.error("", e);
        throw new RuntimeException("Failed to init");
    }
    LOG.info("Successfully open " + taskName);
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:18,代码来源:BatchSpoutTrigger.java


示例10: open

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@Override
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
    this.conf = conf;
    this.topologyContext = context;
    this.topologyId = topologyContext.getTopologyId();
    this.taskId = topologyContext.getThisTaskId();
    this.topologyMasterId = topologyContext.getTopologyMasterId();
    this.componentId = topologyContext.getThisComponentId();
    this.taskStats = new TaskBaseMetric(topologyId, componentId, taskId);
    this.downstreamTasks = TransactionCommon.getDownstreamTasks(componentId, topologyContext);
    LOG.info("downstreamTasks: {}", downstreamTasks);

    this.outputCollector = new TransactionSpoutOutputCollector(collector, this);

    this.spoutStatus = State.INIT;
    this.committingBatches = new TreeMap<>();
    this.isMaxPending = false;
    this.MAX_PENDING_BATCH_NUM = ConfigExtension.getTransactionMaxPendingBatch(conf);

    int taskLaunchTimeout = JStormUtils.parseInt(conf.get(Config.NIMBUS_TASK_LAUNCH_SECS));
    int spoutInitRetryDelaySec = JStormUtils.parseInt(conf.get("transaction.spout.init.retry.secs"), taskLaunchTimeout);
    this.initRetryCheck = new IntervalCheck();
    initRetryCheck.setInterval(spoutInitRetryDelaySec);

    this.lock = new ReentrantLock(true);
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:27,代码来源:TransactionSpout.java


示例11: MkLocalShuffer

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public MkLocalShuffer(List<Integer> workerTasks, List<Integer> allOutTasks, WorkerData workerData) {
    super(workerData);
    List<Integer> localOutTasks = new ArrayList<>();
    allTargetTasks.addAll(allOutTasks);

    for (Integer outTask : allOutTasks) {
        if (workerTasks.contains(outTask)) {
            localOutTasks.add(outTask);
        }
    }
    this.workerData = workerData;
    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(60);

    if (localOutTasks.size() != 0) {
        this.outTasks = localOutTasks;
        isLocal = true;
    } else {
        this.outTasks = new ArrayList<>();
        this.outTasks.addAll(allOutTasks);
        refreshLocalNodeTasks();
        isLocal = false;
    }
    randomrange = new RandomRange(outTasks.size());
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:26,代码来源:MkLocalShuffer.java


示例12: MkLocalFirst

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public MkLocalFirst(List<Integer> workerTasks, List<Integer> allOutTasks, WorkerData workerData) {
    super(workerData);

    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(10);

    this.allOutTasks.addAll(allOutTasks);
    this.workerData = workerData;

    List<Integer> localWorkerOutTasks = new ArrayList<Integer>();

    for (Integer outTask : allOutTasks) {
        if (workerTasks.contains(outTask)) {
            localWorkerOutTasks.add(outTask);
        }
    }

    remoteOutTasks.addAll(allOutTasks);
    if (localWorkerOutTasks.size() != 0) {
        isLocalWorkerAvail = true;
        localOutTasks.addAll(localWorkerOutTasks);
    } else {
        isLocalWorkerAvail = false;
    }
    randomrange = new RandomRange(localOutTasks.size());
    remoteRandomRange = new RandomRange(remoteOutTasks.size());

    LOG.info("Local out tasks:" + localOutTasks + ", Remote out tasks:" + remoteOutTasks);
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:30,代码来源:MkLocalFirst.java


示例13: TpsCounter

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public TpsCounter(String id, Class tclass) {
    this.id = id;
    this.LOG = LoggerFactory.getLogger(tclass);
    
    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(60);
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:8,代码来源:TpsCounter.java


示例14: MkShuffer

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public MkShuffer(String sourceComponent, String targetComponent, WorkerData workerData) {
    this.workerData = workerData;
    this.sourceComponent = sourceComponent;
    this.targetComponent = targetComponent;

    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(60 * 2);

    refreshTasks();

}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:12,代码来源:MkShuffer.java


示例15: MkLocalFirst

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public MkLocalFirst(List<Integer> workerTasks, List<Integer> allOutTasks, WorkerData workerData) {
    super(workerData);

    intervalCheck = new IntervalCheck();
    intervalCheck.setInterval(10);

    this.allOutTasks.addAll(allOutTasks);
    this.workerData = workerData;

    List<Integer> localWorkerOutTasks = new ArrayList<>();

    for (Integer outTask : allOutTasks) {
        if (workerTasks.contains(outTask)) {
            localWorkerOutTasks.add(outTask);
        }
    }

    remoteOutTasks.addAll(allOutTasks);
    if (localWorkerOutTasks.size() != 0) {
        isLocalWorkerAvail = true;
        localOutTasks.addAll(localWorkerOutTasks);
    } else {
        isLocalWorkerAvail = false;
    }
    randomrange = new RandomRange(localOutTasks.size());
    remoteRandomRange = new RandomRange(remoteOutTasks.size());

    LOG.info("Local out tasks:" + localOutTasks + ", remote out tasks:" + remoteOutTasks);

    loadMark = JStormUtils.parseDouble(workerData.getStormConf().get("shuffle.load.mark"), 1.0).floatValue();
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:32,代码来源:MkLocalFirst.java


示例16: waitChannelReady

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
void waitChannelReady(long cachedSize, long sleepMs) {
	long begin = System.currentTimeMillis();
	boolean changeThreadhold = false;
	IntervalCheck oneSecond = new IntervalCheck();
	IntervalCheck timeoutIntervalCheck = new IntervalCheck();
	timeoutIntervalCheck.setInterval(timeoutSecond);
	while (isChannelReady() == null) {

		long now = System.currentTimeMillis();
		long delt = now - begin;
		if (oneSecond.check() == true) {
			LOG.warn(
					"Target server  {} is unavailable, pending {}, bufferSize {}, block sending {}ms",
					name, pendings.get(), cachedSize, delt);
		}

		if (timeoutIntervalCheck.check() == true) {
			if (messageBatchRef.get() != null) {
				LOG.warn(
						"Target server  {} is unavailable, wait too much time, throw timeout message",
						name);
				messageBatchRef.set(null);
			}
			setChannel(null);
			LOG.warn("Reset channel as null");
		}

		reconnect();
		JStormUtils.sleepMs(sleepMs);

		if (delt > 2 * timeoutSecond * 1000L && changeThreadhold == false) {
			if (channelRef.get() != null
					&& BATCH_THREASHOLD_WARN >= 2 * messageBatchSize) {
				// it is just channel isn't writable;
				BATCH_THREASHOLD_WARN = BATCH_THREASHOLD_WARN / 2;
				LOG.info("Reduce BATCH_THREASHOLD_WARN to {}",
						BATCH_THREASHOLD_WARN);

				changeThreadhold = true;
			}
		}
		
		if (isClosed()) {
			LOG.info("Channel has been closed " + name());
			break;
		}
	}
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:49,代码来源:NettyClientAsync.java


示例17: waitChannelReady

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
void waitChannelReady(long cachedSize, long sleepMs) {
	long begin = System.currentTimeMillis();
	boolean changeThreadhold = false;
	IntervalCheck oneSecond = new IntervalCheck();
	IntervalCheck timeoutIntervalCheck = new IntervalCheck();
	timeoutIntervalCheck.setInterval(timeoutSecond);
	while (isChannelReady() == null) {

		long now = System.currentTimeMillis();
		long delt = now - begin;
		if (oneSecond.check() == true) {
			LOG.warn(
					"Target server  {} is unavailable, pending {}, bufferSize {}, block sending {}ms",
					new Object[]{name, pendings.get(), cachedSize, delt});
		}

		if (timeoutIntervalCheck.check() == true) {
			if (messageBatchRef.get() != null) {
				LOG.warn(
						"Target server  {} is unavailable, wait too much time, throw timeout message",
						name);
				messageBatchRef.set(null);
			}
			setChannel(null);
			LOG.warn("Reset channel as null");
		}

		reconnect();
		JStormUtils.sleepMs(sleepMs);

		if (delt > 2 * timeoutSecond * 1000L && changeThreadhold == false) {
			if (channelRef.get() != null
					&& BATCH_THREASHOLD_WARN >= 2 * messageBatchSize) {
				// it is just channel isn't writable;
				BATCH_THREASHOLD_WARN = BATCH_THREASHOLD_WARN / 2;
				LOG.info("Reduce BATCH_THREASHOLD_WARN to {}",
						BATCH_THREASHOLD_WARN);

				changeThreadhold = true;
			}
		}
		
		if (isClosed()) {
			LOG.info("Channel has been closed " + name());
			break;
		}
	}
}
 
开发者ID:songtk,项目名称:learn_jstorm,代码行数:49,代码来源:NettyClientAsync.java


示例18: waitChannelReady

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
void waitChannelReady(long cachedSize, long sleepMs) {
    long begin = System.currentTimeMillis();
    boolean changeThreadhold = false;
    IntervalCheck oneSecond = new IntervalCheck();
    IntervalCheck timeoutIntervalCheck = new IntervalCheck();
    timeoutIntervalCheck.setIntervalMs(timeoutMs);
    sleepMs = (sleepMs < timeoutMs) ? sleepMs : timeoutMs;
    while (isChannelReady() == null) {

        long now = System.currentTimeMillis();
        long delt = now - begin;
        if (oneSecond.check() == true) {
            LOG.warn("Target server  {} is unavailable, pending {}, bufferSize {}, block sending {}ms", name, pendings.get(), cachedSize, delt);
        }

        if (timeoutIntervalCheck.check() == true) {
            if (messageBatchRef.get() != null) {
                LOG.warn("Target server  {} is unavailable, wait too much time, throw timeout message", name);
                messageBatchRef.set(null);
            }
            setChannel(null);
            LOG.warn("Reset channel as null");

            if (blockSend == false) {
                reconnect();
                break;
            }
        }

        reconnect();
        JStormUtils.sleepMs(sleepMs);

        if (delt > 2 * timeoutMs * 1000L && changeThreadhold == false) {
            if (channelRef.get() != null && BATCH_THREASHOLD_WARN >= 2 * messageBatchSize) {
                // it is just channel isn't writable;
                BATCH_THREASHOLD_WARN = BATCH_THREASHOLD_WARN / 2;
                LOG.info("Reduce BATCH_THREASHOLD_WARN to {}", BATCH_THREASHOLD_WARN);

                changeThreadhold = true;
            }
        }

        if (isClosed()) {
            LOG.info("Channel has been closed " + name());
            break;
        }
    }
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:49,代码来源:NettyClientAsync.java


示例19: BackpressureTrigger

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
public BackpressureTrigger(Task task, BoltExecutors boltExecutor, Map stormConf, OutputCollector output) {
    super(stormConf);

    this.task = task;
    this.taskId = task.getTaskId();

    int sampleNum = ConfigExtension.getBackpressureTriggerSampleNumber(stormConf);
    int smapleInterval = sampleNum * (ConfigExtension.getBackpressureCheckIntervl(stormConf));
    this.intervalCheck = new IntervalCheck();
    this.intervalCheck.setIntervalMs(smapleInterval);
    this.intervalCheck.start();

    this.samplingSet = new ArrayList<EventType>();
    this.triggerSampleRate = ConfigExtension.getBackpressureTriggerSampleRate(stormConf);

    this.output = output;

    this.boltExecutor = boltExecutor;

    try {
        StormClusterState zkCluster = task.getZkCluster();
        Map<String, SourceBackpressureInfo> backpressureInfo = zkCluster.get_backpressure_info(task.getTopologyId());
        if (backpressureInfo != null) {
            for (Entry<String, SourceBackpressureInfo> entry : backpressureInfo.entrySet()) {
                SourceBackpressureInfo info = entry.getValue();
                Map<String, TargetBackpressureInfo> targetInfoMap = info.getTargetTasks();
                if (targetInfoMap != null) {
                    TargetBackpressureInfo targetInfo = targetInfoMap.get(task.getComponentId());
                    if (targetInfo != null && targetInfo.getTasks().contains(taskId)) {
                        isBackpressureEnable = true;
                        LOG.info("Retrieved backpressure info for task-" + taskId);
                    }
                }
            }
        }
    } catch (Exception e) {
        LOG.info("Failed to get backpressure info from zk", e);
    }
    LOG.info("Finished BackpressureTrigger init, highWaterMark=" + highWaterMark + ", lowWaterMark=" + lowWaterMark + ", sendInterval="
            + intervalCheck.getInterval());
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:42,代码来源:BackpressureTrigger.java


示例20: prepare

import com.alibaba.jstorm.utils.IntervalCheck; //导入依赖的package包/类
@Override
public void prepare(Map stormConf, TopologyContext context,
                    OutputCollector collector) {
    this.conf = context.getStormConf();
    this.collector = collector;
    this.taskId = context.getThisTaskId();
    this.topologyId = context.getTopologyId();
    this.zkCluster = context.getZkCluster();

    try {
        Assignment assignment = zkCluster.assignment_info(topologyId, null);
        this.workerSet = assignment.getWorkers();
        intervalCheck = new IntervalCheck();
        intervalCheck.setInterval(10);
        intervalCheck.start();
    } catch (Exception e) {
        LOG.error("Failed to get assignment for " + topologyId);
    }

    this.taskHeartbeatUpdater = new TaskHeartbeatUpdater(this.conf, topologyId, taskId, zkCluster);

    this.backpressureCoordinator = new BackpressureCoordinator(collector, context, taskId);

    this.topologyMetricContext = new TopologyMetricContext(topologyId, this.workerSet, this.conf);

    this.uploadMetricsExecutor = Executors.newSingleThreadScheduledExecutor();
    this.uploadMetricsExecutor.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            int secOffset = TimeUtils.secOffset();
            int offset = 35;
            if (secOffset < offset) {
                JStormUtils.sleepMs((offset - secOffset) * 1000);
            } else if (secOffset == offset) {
                // do nothing
            } else {
                JStormUtils.sleepMs((60 - secOffset + offset) * 1000);
            }
            if (topologyMetricContext.getUploadedWorkerNum() > 0) {
                metricLogger.info("force upload metrics.");
                mergeAndUpload();
            }
        }
    }, 5, 60, TimeUnit.SECONDS);

    updateThread = new Thread(new TopologyMasterRunnable());
    updateThread.start();

    threadAliveCheck = new IntervalCheck();
    threadAliveCheck.setInterval(30);
    threadAliveCheck.start();
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:53,代码来源:TopologyMaster.java



注:本文中的com.alibaba.jstorm.utils.IntervalCheck类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java PatientICPStagesLiteVo类代码示例发布时间:2022-05-15
下一篇:
Java ReceiptPrinterSettingsService类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap