getThreads()->getMain()->getTimer()->setInterval(function ($params) use (&$id, $console, $script) { if ($script->isInterrupted()) { $script->getThreads()->getMain()->getTimer()->clearInterval($id); $console->log("script is interrupted"); } else { $console->log("script is not interrupted"); } }, 1000); $script->getThreads()->getMain()->getTimer()->setTimeout(function ($params) use ($script) { $script->interrupt(); }, 2000);