以前はGoogle Apps Scriptでスクリプトを作成していましたが、すべての関数で Jdbc 接続を開いたり閉じたりしていました。
アプリケーションを高速化するには、接続を開いたままにして別の関数で使用する方がよいようです。ただし、 Google Apps Scriptでそれを行う方法がわかりません。
誰でも私に提案や例を教えてもらえますか?
以前はGoogle Apps Scriptでスクリプトを作成していましたが、すべての関数で Jdbc 接続を開いたり閉じたりしていました。
アプリケーションを高速化するには、接続を開いたままにして別の関数で使用する方がよいようです。ただし、 Google Apps Scriptでそれを行う方法がわかりません。
誰でも私に提案や例を教えてもらえますか?
ScriptDB で接続を保持する方法の例を次に示します。
function myFunction() {
var conn = ScriptDb.getMyDb().query({name : "my_connection"} );
var connection = null;
var itemId = null;
if(conn.getSize() == 0) {
Logger.log(" Connection not found, creating new one");
connection = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>', 'user', 'password');
itemId = ScriptDb.getMyDb().save({name : "my_connection", connection : connection}).getId();
}else {
Logger.log(" Connection found, retrieving "+conn.getSize());
var dbItem = conn.next();
connection = dbItem.connection;
itemId = dbItem.getId();
}
//Check if it is closed
if(connection.isClosed()) {
connection = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>', 'user', 'password');
//After opening remember to save to dabatase again and retain only one connection
ScriptDb.getMyDb().removeById(itemId);
ScriptDb.getMyDb().save({name : "my_connection", connection : connection});
}
//Use your connection here
//Remenber to close it based in some criteria
}
例はこちら。