!7 sS progID = #1009961; static double interval = 1; p { repeat with sleep interval { checkProgram(progID); } } svoid checkProgram(S progID) ctex { if (!isProgramRunning(progID)) { print(progID + " not running"); ret; } S newMD5 = getServerTranspilationMD5(progID); if (!isMD5(newMD5)) { print("No server transpilation"); ret; } print("Server MD5 for " + progID + ": " + newMD5); //S localMD5 = md5(DiskSnippetCache_get(psI(progID))); S localMD5 = md5(loadCachedTranspilation(progID)); print("Local MD5: " + localMD5); if (neq(localMD5, newMD5)) { restartProgram(progID); sleepSeconds(10); } }