Appengine では Java マルチスレッドが許可されないため、既存のマルチスレッド コードをプラットフォームに移行するにはどうすればよいでしょうか。
たとえば、次のコードがあります。
Thread t = new Thread() {
public boolean alive = true;
public void run() {
while (alive) {
try {
Thread.sleep(5000);
getNewNotifications();
} catch (InterruptedException e) {
// Do nothing
} catch (IOException e) {
}
}
}
};
t.start()
関数 getNewNotification() はいくつかの Rest/HTTP 呼び出しを行います。これには、無期限に戻る可能性のある他のプロセスが含まれる場合があります。解決策を読みましたTask Queue
が、この単純なコードを App Engine に適したコードに変換するにはどうすればよいでしょうか?
上記のコードは、タスク キューを使用してどのように実装されていますか? たとえば、getNewNotifications()
5 秒ごとに呼び出します。
そして、その関数はサーバーからいくつかの結果を取得し、結果を解析してから、結果に基づいて必要なアクティビティ/作業を実行します。