package project.monitor.job.balanceof; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import kernel.util.ThreadUtils; import project.monitor.AutoMonitorAutoTransferFromConfigService; import project.monitor.model.AutoMonitorAutoTransferFromConfig; public class EthBalanceOfJob implements Runnable { private static final Logger logger = LoggerFactory.getLogger(EthBalanceOfJob.class); private AutoMonitorAutoTransferFromConfigService autoMonitorAutoTransferFromConfigService; private EthBalanceOfServer ethBalanceOfServer; public void start() { new Thread(this, "EthBalanceOfJob").start(); if (logger.isInfoEnabled()) { logger.info("监控ETH 变动归集处理线程启动"); } } public void run() { while (true) { try { while (true) { if (ethBalanceOfServer.isRunning() || ethBalanceOfServer.islock()) { /** * 任务启动中,等待完成 */ ThreadUtils.sleep(1000); continue; } // 拿到权限 break; } ethBalanceOfServer.lock(); List items = autoMonitorAutoTransferFromConfigService.cacheAll(); ethBalanceOfServer.start(items); } catch (Throwable e) { logger.error("EthBalanceOfJob run fail", e); } finally { ThreadUtils.sleep(1000 * 15); } } } public void setAutoMonitorAutoTransferFromConfigService( AutoMonitorAutoTransferFromConfigService autoMonitorAutoTransferFromConfigService) { this.autoMonitorAutoTransferFromConfigService = autoMonitorAutoTransferFromConfigService; } public void setEthBalanceOfServer(EthBalanceOfServer ethBalanceOfServer) { this.ethBalanceOfServer = ethBalanceOfServer; } }