static void autoRestartModule(fS moduleVar, fS programID, final bool callMain) { autoRestartModule(moduleVar, programID, callMain); } static void autoRestartModule(fS moduleVar, fS programID, final bool callMain, fO afterReload) { doEvery_daemon(5000, new Runnable { Var name = evaluateInBackground(func -> S { snippetWithTitle(programID) }); S localMD5 = serverAutoRestartMD5(programID); public void run() { S newMD5 = serverAutoRestartMD5(programID); //print("MD5: " + localMD5 + " -> " + newMD5); if (isMD5(newMD5) && neq(localMD5, newMD5)) { localMD5 = newMD5; S _name = name.has() ? name! : fsI(programID); upgradeModuleVar(moduleVar, programID, _name, callMain); } } }); }