2016-12-23 18 views
0

私はGoogleのシートからストアドプロシージャを介してmysqlテーブルにデータをコピーしています。このシートには3000の奇妙なレコードがあります。いくつかの2000の奇妙なレコードをコピーした後、私は6分の実行時間制限を打つ。この6分間の実行期限までには回避策がありますか?Google Appsスクリプト実行時間6分

、とGoogle AppScriptsでJDBCでの作業の経験の少ないテストするためのSQL DBにアクセスすることなく
function myfunction() { 
    var colA; 
    var colB; 
    var colC; 
    var colD; 
    var colE; 

    var mysqldb = Jdbc.getConnection("jdbc:mysql;dbipaddress","user","pa$$word"); 
    var sql = mysqldb.createStatement(); 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1'); 
    var data = sheet.getDataRange().getValues(); 

    for (var i = 1; i < data.length; i++) { 
    colA = data[i][0]; 
    colB = data[i][1]; 
    colC = data[i][2]; 
    colD = data[i][3]; 
    colE = data[i][4]; 

    var query = "{call [dbo].[sp_copygsheets](?,?,?,?,?)}"; 
    sql = mysqldb.prepareCall(query); 
    sql.setString(1, colA); 
    sql.setString(2, colB); 
    sql.setString(3, colC); 
    sql.setString(4, colD); 
    sql.setString(5, colE); 
    sql.executeUpdate(); 
    } 

    sql.close(); 
    mysqldb.close(); 
} 
+1

[Google Apps Scriptの最大実行時間を超過しました](http://stackoverflow.com/questions/7854573/exceeded-maximum-execution-time-in-google-apps-script) –

+0

Google Apps ScriptからJDBCのページ:バッチ処理はバッチ処理にとって不可欠です。このページのバッチの例を見てください:https://developers.google.com/apps-script/guides/jdbc –

答えて

0

、私は最大の部分を推定します

いくつかの仮定をしなければならないつもりです

for (var i = 1; i < data.length; i++) { 
... 
} 

forループで実行時間もしそうなら、あなたは6分の時間制限で終わるものにループを制限し、​​としてiの最後の値を保存しようとしましたか?次に、スクリプトが完了したとマークされるまで(例えば、別のユーザープロパティのように)、スクリプトを複数回実行することができます。

など。ような何か:

var startVal = PropertiesService.getUserProperties().getProperty("lastLoop"); 
    for (var i = startVal; i < numLoops; i++) { 
    ... 
    } 
var newProp = {myStartVal: startVal+numLoops}; 
PropertiesService.getUserProperties().setProperties(newProp); 

は、次にタイムトリガでスクリプトを設定し、numLoopsは、forループの実行前にテストすることができdata.lengthを、等しくなるまでそれを実行しました。

完全な回答ではありませんが、正しい方向にあなたを置きたいと思います。

+0

私はこれが本当に答えにふさわしくないが、短いコメントですが、50未満の評判で私はコメントを追加できませんので、部分的な答えには謝ります。 – Paul

関連する問題