当我的 macbook 进入睡眠状态时,JXA 脚本停止 运行

JXA script stops running when my macbook goes to sleep

我正在 运行使用 launchctl 将 JXA 脚本作为代理。脚本的主要逻辑应该是 运行,间隔为 2 秒,这是我使用无限循环和 delay 实现的。但是,每当我的 macbook 进入睡眠状态时,脚本就会停止执行,我必须再次手动卸载和加载代理。

我的脚本:

for(;;) {
   // (Open browser and check whether a tab exisits or not)
   <APPLICATION LOGIC > 
   delay(2);
}

我可以做些什么来确保即使在我的 macbook 唤醒后此脚本仍保持 运行ning 吗?

根据 CJK 的建议,我现在每 5 秒执行一次 JXA 脚本,使用 launchctl 和以下 plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>google-meet.job</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/osascript</string>
        <string>/Users/porter/Library/Script Libraries/Brave - Google Meet Running.scpt</string>
    </array>
    <key>StartInterval</key>
    <integer>5</integer>
</dict>
</plist>

您可以使用 StartInterval 键控制脚本的执行频率。