| | |
| | | public class GslProcess implements MainProcessPluginApi, StoreInTaskPolicy { |
| | | private static final String CRN_TASK_LANE = "crn"; |
| | | private static final String STATION_TASK_LANE = "station"; |
| | | private static final String GENERATE_STORE_TASK_LANE = "generate-store"; |
| | | private static final long DISPATCH_INTERVAL_MS = 200L; |
| | | private static final long MAINTENANCE_INTERVAL_MS = 500L; |
| | | private static final long TASK_SLOW_LOG_THRESHOLD_MS = 1000L; |
| | |
| | | //检测入库站是否有任务生成,并启动入库 |
| | | checkInStationHasTask(); |
| | | //请求生成入库任务 |
| | | generateStoreWrkFile(); |
| | | submitGenerateStoreTask("generateStoreWrkFile", DISPATCH_INTERVAL_MS, this::generateStoreWrkFile); |
| | | |
| | | //堆垛机与输送站点都按单个任务提交到各自串行通道,逐个执行 |
| | | submitCrnTask("crnIoExecute", DISPATCH_INTERVAL_MS, crnOperateUtils::crnIoExecute); |
| | |
| | | submitProcessTask(STATION_TASK_LANE, taskName, minIntervalMs, task); |
| | | } |
| | | |
| | | private void submitGenerateStoreTask(String taskName, long minIntervalMs, Runnable task) { |
| | | submitProcessTask(GENERATE_STORE_TASK_LANE, taskName, minIntervalMs, task); |
| | | } |
| | | |
| | | private void submitCrnTask(String taskName, long minIntervalMs, Runnable task) { |
| | | submitProcessTask(CRN_TASK_LANE, taskName, minIntervalMs, task); |
| | | } |