Bots de conversa de Telegram amb Google Apps Script

Bots de conversa Exemples Dades pràctiques   Recursos CITCEA
Google Apps Script Projectes Interacció   Inici

Retards

En alguns casos ens pot interessar que el programa faci una pausa durant un temps determinat. La funció sleep serveix per a això, cal indicar-li la durada de la pausa en mil·lisegons.

    Utilities.sleep(1000);  // Pausa d'un segon

A vegades, hem d'esperar que una tasca acabi o un objecte estigui a punt. Si només posem un bucle while per esperar que la condició es verifiqui ens podem trobar que falli alguna cosa i no s'arribi a complir. En aquest cas, Google ens aplicaria la durada màxima de l'script i ens el tancaria bruscament un cop superat el límit. Podem, però, posar un límit temporal a l'espera. En l'exemple següent hem creat un document i volem obtenir-ne la seva imatge miniatura (thumbnail). Si ho demanem immediatament, ens trobarem que encara no existeix, per això hem fet un bucle que va comprovant si la imatge ja existeix; en cas contrari s'espera una dècima de segon i ho torna a intentar. Se surt del bucle quan ja es disposa de la imatge o si han transcorregut deu segons (cent dècimes) des de l'inici del bucle. La variable cnt compta les iteracions del bucle i, per tant, les dècimes de segon transcorregudes.

  var repetir = true;
  var cnt = 0;
  while(repetir){
    var thumb = DriveApp.getFileById(pdfId).getThumbnail();
    Utilities.sleep(100);
    cnt++;
    if((cnt > 100) || (thumb)){
      repetir = false;
    }
  }

El tros de programa mostrat correspon a aquest exemple.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.