Javascript:如何检查fct是否正在运行,如果没有,则让它运行?

时间:2015-04-16 14:46:19

标签: javascript ajax google-apps-script

我在Google Apps脚本中运行某个功能,有时会超时并停止运行。我想添加一些东西来检查(连续或每隔x秒一次)我的功能是否正在运行,如果没有,则启动它。对此最好的解决方案是什么?

基本上,我正在寻找能够做到这一点的事情:

if(!functionXIsRunning){run functionX}

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西:

var isRunning = false;
function functionX(){
  //Do something
  isRunning = false; //After function is finished, set isRunning to false.
}

function runFunctionX(){
  if(!isRunning){
    functionX();
    isRunning = !isRunning //Sets isRunning to it's opposite, that is true
  }
}

ScriptApp.newTrigger('runFunctionX')
  .timeBased()
  .everyMinutes(5) //Change as necessary
  .create();

你可能更喜欢使用EventEmitters和类似的东西来避免setInterval(),但这基本上适用于所有事情。