GAEで409エラーが出る | 解決方法を教えてください

このQ&Aのポイント
  • GAEでアプリケーションをデプロイしたところ、409エラーが発生しました。
  • エラーメッセージによると、別のユーザーが同じアプリケーションとメジャーバージョンでトランザクションを実行中です。
  • 問題を解決するには、appcfg.pyのrollbackコマンドを使用してトランザクションを取り消す必要があります。
回答を見る
  • ベストアンサー

GAEで409エラーが出ます

GAEで409エラーが出ます GAEランチャーでアプリケーションをデプロイしたところ失敗したようで、 以下のエラーメッセージが出ます。 Password for メールアドレス: Error 409: --- begin server output --- Another transaction by user ユーザー名 is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command. 解決するにはrollbackをすればいいとあったので、コマンドプロンプトで appcfg.py rollback アプリケーションのパス と入力したのですが、appcfg.pyがtxt形式で開くだけで何も起こりません。 pyファイルをプロパティでメモ帳で開くようにしてしまったのですが、それが原因でしょうか? 問題を解決するにはどうしたら良いでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • struct
  • ベストアンサー率72% (32/44)
回答No.1

> pyファイルをプロパティでメモ帳で開くようにしてしまったのですが、それが原因でしょうか? そうです。 コマンドプロンプトでappcfg.pyと書くと、 エクスプローラでappcfg.pyをダブルクリックしたのと同じ効果があります。 この場合、appcfg.pyを実行するには、関連付けを使わず、 Python.exeのパスを指定して起動してください。 例えばPythonをC:\Python25にインストールしたなら、 C:\Python25\python.exe appcfg.py rollback アプリケーションのパス とします。

labilion
質問者

お礼

ありがとうございます。 とても参考になりました。

関連するQ&A

  • GAEでの開発に関する質問.

    GAEの勉強をしておりまして,ローカルでの開発環境(python)について質問させてください. 現在以下のURLを参考にしてGAEからメールを送信するプログラミングをしています。 「Google App Engineでもうちょっとがんばってみる:メール送信プログラム」 http://builder.japan.zdnet.com/virtualization/sp_google-app-engine/... このページの6ページ目に乗っているプログラムを用いて,GAE上にデプロイすると確かにGAEから任意のアドレスにメールを送ることができるのですが、ローカルで開発サーバで実践しようとしてうまくいかない状態です. このページの3ページ目に乗っているやり方でやっているのですが以下のようなエラーが出でてうまくいきません。 ====== 動作環境:mac OSX10.6.8 以下ターミナルでの動作 開発サーバの起動 dev_appserver.py --smtp_host=localhost --smtp_port=25 builder-example2/ ↓ サーバが起動する (Warning:You are using a Python runtime (2.7) that is more recent than the production runtime environment (2.5). Your application may use features that are not available in the production environment and may not work correctly when deployed to production. とでるが多分今回のけんには関係ない?) ↓ アプリ実行 ↓ WARNING 2012-11-28 10:52:02,843 mail.py:1232] 'to' is not a valid property to set for AdminEmailMessage. It is unused. INFO 2012-11-28 10:52:02,843 mail_stub.py:138] MailService.SendToAdmins From: xxxxx***@gmail.com Subject: konnitiwa Body: Content-type: text/plain となります。ブラウザ上での表示はうまく行きますがメールが送信されません。 ローカルでの環境での設定が間違えているのでしょうか? 不躾な質問で申し訳ありませんがもしわかる方いらっしゃれば教えていただければ幸いです。

  • postgresqlのトランザクションについて

    開発環境(centOS、apatch、php、postgresql) postgrsqlで「current transaction is aborted, commands ignored until end of transaction block」 のエラーが出てしまいました。 ・複数テーブルに対してinsertを行っています。 ・複数tableのinsert中のどこかでエラーになった場合、全tableをrollbackしたいです。 ・複数テーブルのうち、ひとつのtableでは5回insertを行っています。   for文でまわしているのですが、ここで2回目のinsertの時に   上記のエラーになってしまいます。 で、トランザクション(begin、rollback、commit)を全てはずしたところ、全てのtableで正常にinsertできました。 上記のエラーを調べてみても rollbackしていない・・・みたいなことしか調べられませんでした。 エラーにはなっていないのでrollbackはしないし、ここでcommitしてしまうと、次のinsertなどでエラーになった時、rollbackできなくなってしまうし。。。 上記のエラーをなくすために どのような対策をすればいいのかアドバイスをお願いいたします!

  • SQL実行エラー時のロールバックについて

    クエリアナライザを使用し、以下のような複数のステートメントを実行するクエリを流します。 「BEGIN TRANSACTION TRAN_X INSERT文1; INSERT文2; UPDATE文3; …」 最終的に成功したら commit、途中でエラーが出たらrollbackしたいと考えています。 @@ERRORでなくJAVAでいう「try~catch」またはVBでいう「ON ERROR」構文のようなものはないのでしょうか? どなたかご教授お願いします。

  • データをロック中にエラーチェックを行うべきか?

    PHP5.2.4、MySQLバージョン4.1.16を使用しています。 次のように、データをロックする前にエラーチェックを行い、 エラーじゃなかったら更新処理を行うという書き方なのですが、 これだとエラーチェックとSTART TRANSACTION;(ロック開始)の 間で$pointが10以上になるか心配なのですが、そのようなことは ありえるのでしょうか? 心配するぐらいならSTART TRANSACTION;してから エラーチェックを書けばいいのでしょうが、 それだとROLLBACKの処理も絡んできそうで厄介なので できればこのように書きたいのですが・・・ ※ $pointとはそのユーザが所有しているデータの一部です(つまり任意のタイミングで書き換えが可能) if ($point >= 10)//←ここでチェックを行い、エラーなら抜ける {  error('pointが10以上です');  exit(); } ↑ // この間で$pointが10以上になる可能性が心配 ↓ START TRANSACTION;//←ロック開始 //ここに更新処理 COMMIT;

    • ベストアンサー
    • PHP
  • pythonでtwitterAPIを使用としたときのGAE上でのエラー

    pythonでtwitterAPIを使用としたときのGAE上でのエラー <class 'urllib2.HTTPError'>: HTTP Error 401: Unauthorized GAE上にこの様なエラーが出てしまい。twitterbotに反映されません。 import urllib2は行っているのですが原因が分からず困っています。 よろしくお願いします # -*- coding: utf-8 -*- import twitter import random import os # from tenki import information from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext.webapp import util from google.appengine.ext.webapp import template # twitter.Api.__init__ method for override. def twitter_api_init_gae(self, username=None, password=None, input_encoding=None, request_headers=None): import urllib2 from twitter import Api self._cache = None self._urllib = urllib2 self._cache_timeout = Api.DEFAULT_CACHE_TIMEOUT self._InitializeRequestHeaders(request_headers) self._InitializeUserAgent() self._InitializeDefaultParameters() self._input_encoding = input_encoding self.SetCredentials(username, password) # 天気用に追加 # from urllib2 import urlopen # from xml.dom.minidom import parseString # from xml.etree.ElementTree import * # information = [] # io = urlopen("http://www.google.com/ig/api?weather=Tokyo") # dom = ElementTree(file=io) # cond = dom.find("//current_conditions") # for name in ["condition","temp_c","humidity","wind_condition"]: # information.append(cond.find(name).get("data")) # overriding API __init__ twitter.Api.__init__ = twitter_api_init_gae list = [ u"ante" ,u"Do my best" ,u"piyopiyopiyo" ,u"piyopiyo" ,u"ponyo" ,u"piyo" ,u"my name is anteroom" # ,u"Today's weather is " + information[0] # ,u"Today's weather is " + information[1] # ,u"Today's weather is " + information[2] # ,u"Today's weather is " + information[3] ] post = random.choice(list) api = twitter.Api("hoge","hoge") api.PostUpdate(post)

  • VB5+SQL2000での ** TRANSACTIONについて(ADO)

    環境:VB5(SP3)+SQL2000(SP1) VBで、BEGIN TRANSACTIONを定義し、その後更新用DBを更新する前に、ストアドプロシージャを利用せずDBを検索した場合、問題無く更新用DBへの更新に対して(ROLLBACK/COMMIT) TRANSACTION が効くのですが、ストアドプロシージャで検索した場合、(ROLLBACK) TRANSACTION が効きません。 分かりづらいですがサンプルを記します。 Function Test() Dim MyRs As New ADODB.Recordset Dim MyRs2 As New ADODB.Recordset : MyDB.Execute "BEGIN TRANSACTION TEST999",,adCmdText+adExecuteNoRecords : '(A)不具合未発生パターン 'レコードセットを開く 'このように、レコードセットを作成した場合問題なし。 MyRs.Open "SELECT * FROM TESTDB..テスト",MyDB,adOpenStatic '(B)不具合発生パターン 'ただし、上のSELECT文をストアドプロシージャで開いた場合、ROLLBACKが効かない 'レコードセットを開く(正常に(ROLLBACK)TRANSACTIONが動作せず、UpDate時にCommitしている) 'MyRs.Open "TESTDB..TEST001",MyDB,adOpenStatic : MyRs2.Open "SELECT * FROM TESTDB..更新テスト",MyDB,adOpenKeyset,adLockPessimistic If Err <> 0 Then 'Error処理 End If If MyRs2.EOF Then MyRs2.AddNew MyRs2![FLD1] = MyRs2![FLD1A] Else MyRs2![FLD1] = "TEST" End If MyRs2.UpDate 'ここは正常終了。(Err = 0) 'テスト用にエラー設定 Err = 1 if Err <> 0 then '(B)不具合発生パターンの場合、ROLLBACK をしても、DBに登録されてしまう。 MyDB.Execute "ROLLBACK TRANSACTION TEST999",,adCmdText+adExecuteNoRecords Exit Function End If MyRs.Close MyRs2.Close SmileDB.Execute "COMMIT TRANSACTION TEST999",,adCmdText+adExecuteNoRecords End Function

  • トランザクションが原因?DBにデータ追加出来ません

    言語:PHP Framework:symfony DB:MySQL DBにデータを追加したいのですが、 [Rollback failed. There is no active transaction.] といったエラーが表示され、追加することが出来ません。 【ソース】 ------------------------------------------------------ try { $connection->beginTransaction(); ★DB追加処理; $connection->commit(); } catch (Exception $e) {   // ここで[Rollback failed. There is no active transaction.]というエラーが表示されます echo $e->getMessage(); $connection->rollBack(); } ------------------------------------------------------ DB追加処理の部分でエラーとなり、catchに飛ばされていたので、初めは追加の方法が間違っているのかと思ったのですが、下記の3つをソースから外すと正常に追加されました。 $connection->beginTransaction(); $connection->commit(); $connection->rollBack(); ※正確に言うと「$connection->beginTransaction();」を外すだけで追加出来ました。 また、これは私の勘違いかもしれませんが、初めてこの処理を行った時は正常にDBに追加されました。 実際にDBにデータが入ったのを確認しています。 ですが、2回目以降?からは、上記のように[Rollback failed. There is no active transaction.]というエラーが表示され、追加出来なくなりました。 ちなみにDB接続にはPDOというものを使用しているようです。 追加処理の部分に関してはSymfonyの方法で、下記のように実装しています。 ------------------------------------- $user = new T_USER(); $user->setName($name); $user->setAge($age); $user->save(); ------------------------------------- 何かヒントになるようなことでも構いませんので、分かる方がいらっしゃいましたらよろしくお願いします。 質問の内容に不備な点がございましたら、申し訳ありません。 以上です。

    • ベストアンサー
    • PHP
  • Django Python csv エラー

    下記のようなエラーでて解決できないです。 Unicodeのエラー? 解決できるやり方がわからなくて困っています。誰かがご教授お願いいたします。 データベースに保存しょうと思ったら不正な文字列値のエラーがでてきました。 ご教授お願いいたします! エラー: (1366, "Incorrect string value: '\\x8E\\x81\\x96\\xBC\\x83J...' for column 'user_name' at row 1") 私のViews.py def import_csv(request): response = HttpResponse(mimetype='application/vnd.ms-excel; charset=UTF-8') response['Content-Disposition'] = 'attachment; filename=file.csv' reader = csv.reader(response) with open('C:\Users\hasichaolu\Desktop\mkc\Py_meshi\sample.csv', 'r+b') as f: reader = csv.reader(f) for row in reader: tmp = User.objects.create() tmp.UserID = row[0] tmp.user_name = row[1] tmp.first_kana = row[2] tmp.save()

  • pythonでエラー「out of memory」

    python seleniumでエラー「out of memory」の解決策を教えてほしいです。 python seleniumでブラウザの自動操作を行っています。 一覧の画面にボタンがあり、For文で繰り返し画面遷移を行っています。 処理が進むにつれてメモリがどんどん増え、最終的にメモリ不足で処理が停止してしまいます。 tracemallocでメモリの容量を見たところ 下記の2つが処理が進むにつれてメモリどんどん増えています。 C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\urllib\parse.py:387: size=27.0 KiB, count=257, average=108 B C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\urllib\parse.py:411: size=25.5 KiB, count=256, average=102 B ファイルの内容としてはurlが関係しているのかなと考えています。 parse.py:387⇒splitresult = urlsplit(url, scheme, allow_fragments) parse.py:411⇒return url[start:delim], url[delim:] parse.pyはシステムファイル?のためどのようにメモリの解放を行えばよいのか調査しましたが解決策が思い浮かびませんでした。 途中でメモリの解放等を行う方法がありますでしょうか?

  • macのPCでpythonでのnumpyエラー

    ラズパイでpythonで作成しているTCP通信のクライアントソフトのプログラミング作業をMacのPC側で行いたいと思っています。それで、tcp_client1_02.pyというファイルをmac側に移して、Python IDLEで開いてRUNしてみたところ、次のようなエラーが出てきました。 >>> =========== RESTART: /Users/****/Desktop/tcp_client1_02.py =========== Traceback (most recent call last): File "/Users/****Desktop/tcp_client1_02.py", line 4, in <module> import numpy as np ImportError: No module named 'numpy' >>> どうも、このプログラム内の配列で使用しているnumpyのモジュールがPCに入っていないようなのですが、インストール方法など解決方法をご教示いただきますよう宜しくお願い致します。

専門家に質問してみよう