/** * Interpreter can implements it's own scheduler by overriding this method. * There're two default scheduler provided, FIFO, Parallel. * If your interpret() can handle concurrent request, use Parallel or use FIFO. * * You can get default scheduler by using * SchedulerFactory.singleton().createOrGetFIFOScheduler() * SchedulerFactory.singleton().createOrGetParallelScheduler() * * @return return scheduler instance. This method can be called multiple times and have to return * the same instance. Can not return null. */ @ZeppelinApi public Scheduler getScheduler() { return SchedulerFactory.singleton().createOrGetFIFOScheduler("interpreter_" + this.hashCode()); }
public static SchedulerFactory singleton() { if (singleton == null) { synchronized (singletonLock) { if (singleton == null) { try { singleton = new SchedulerFactory(); } catch (Exception e) { LOGGER.error(e.toString(), e); } } } } return singleton; }
@Override public Scheduler getScheduler() { return SchedulerFactory.singleton().createOrGetParallelScheduler("mongo", 10); }