| | |
| | | import com.zy.acs.manager.system.service.ConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.context.event.ApplicationReadyEvent; |
| | | import org.springframework.context.event.EventListener; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import javax.annotation.PreDestroy; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | |
| | | @Component |
| | | public class KernelScheduler { |
| | | |
| | | public static int CORE_SCAN_FREQUENCY_MILLISECOND = 30; |
| | | public static int CORE_SCAN_FREQUENCY_MILLISECOND = 15; |
| | | |
| | | private static final int LOCK_TIMEOUT = 5; |
| | | |
| | |
| | | this.lock.unlock(); |
| | | } |
| | | |
| | | @PostConstruct |
| | | // @PostConstruct |
| | | @EventListener(ApplicationReadyEvent.class) |
| | | public void init() { |
| | | try { Thread.sleep(1200); } catch (InterruptedException ignore) {} |
| | | // traffic calculate |
| | |
| | | for (Segment segment : segments) { |
| | | long startTime = System.currentTimeMillis(); |
| | | trafficService.trigger(segment); |
| | | long algoTime = System.currentTimeMillis() - startTime; |
| | | log.info("traffic calculation spend {} ms", algoTime); |
| | | if (segment.getState().equals(SegmentStateType.RUNNING.toString())) { |
| | | segment.setAlgoTime((int) algoTime); |
| | | segmentService.updateById(segment); |
| | | } |
| | | log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | |
| | | try { |
| | | Thread.sleep(CORE_SCAN_FREQUENCY_MILLISECOND); |
| | | |
| | | List<String> actionGroupIds = actionService.selectPrepareGroup(); |
| | | List<String> actionGroupIds = actionService.selectGroupNo(ActionStsType.PREPARE); |
| | | for (String actionGroupId : actionGroupIds) { |
| | | mainService.publishAction(actionGroupId); |
| | | } |