問題タブ [google-app-engine-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - メールからドメインを抽出する必要がありますが、@domain.com を取得します。ドメインの先頭に @ は必要ありません
メールからドメインを抽出する必要がありますが、 @domain.com を取得しました。@
ドメインの先頭には 必要ありません
java - 現在のイベントに関する情報を取得するための適切な API はありますか?
もう少し具体的に言うと、現在オンラインで流行しているニュース記事を表示できる API を探しています。たとえば、たとえばトロントでテロ攻撃があった場合、おそらくどこでもトップ ニュースになるでしょう。だから、「トロントの爆撃」や「キム・カーダシアンが実際にはニュースではないことをしているが、とにかく誰もがそれについて話している」などに関連するいくつかの記事や見出しを引っ張って取得できるようにしたいと思います. 地域別のトップニュース記事を取得できればさらに良いでしょう。
私が構築しているものは非常に単純です。現在のイベントに関するプロンプトとそのイベントに関連するいくつかの記事を使用して、ランダムな人物とペアになるWebサイトで、その人物とそれについて話すことができます. 誰かに聞かれるので、コンピューター サイエンス/ビジネス プログラムの申請手続きの一環として、コンピュータ サイエンス/ビジネス プログラムの 3/4 年生が独自のスタートアップを作成し、それに対して支払いを受け、政府の資金を受け取るためにそれを構築しています。彼らは、私たちのプログラミング能力を示すために何かを作成し、選択の文章の一部として 1 週間で何を思い付くことができるかを望んでいます。
これには Google トレンドを使用することを考えていましたが、公式の API はないようです。私が見つけた非公式の API はどちらかというと基本的なもので、それで問題ありませんが、もっと充実した API が必要です。 Google トレンド以外のものを使用していても、うまく機能する限り、可能であれば注目の API を使用してください。
また、私は Python 2.7 をサポートするものを見つけようとしていますが、Java、PHP、または実際には他の言語など、別の言語で使用することもできます。その言語を本当に知らなくても、私はまだその提案に非常に感謝しています. 現在、私は App Engine、(おそらく)Django、および彼らが現在 App Engine で使用しているメッセージング API を使用することを計画していますが、必要に応じて他のものを使用するつもりです。
google-app-engine - モジュールの GAE ミドルウェア?
私の GAE プロジェクト (A、B、C など) にはいくつかのモジュールがあるとします。ユーザーのデータベースとセッションを共有します。
例: モジュール A は (Cookie を介して) ログイン/ログアウト アクションを管理し、モジュール B、C は他のアクションを処理します。参考までに、これらのモジュールは PHP と Python の両方で開発されています。
ここで、3 つのモジュールすべてでユーザーとセッションの確認コードを作成したくありません。
とにかく、リクエストごとに3つのモジュールすべての前に実行されるミドルウェアを置くことはできますか? X など: ユーザーがログインしている場合は、ユーザー ID と一部のユーザー情報を設定するための各要求のヘッダーが追加されます。
IE:上記のアイデアを実装できるようになった後。各リクエストは、以下の 3 つのケースで 1 を通過します。
- X、A
- X、B
- X、C
あなたは何を言っていますか?ありがとう
更新 1: 詳細情報
ミドルウェアとは、リクエストミドルウェアのことです。
X がミドルウェアの場合、リクエストがアプリ (またはモジュール) に渡される前に実行され、次のようなリクエストのみが変更されます。
- いくつかの認証アクションを実行します
- いくつかのヘッダーを追加します。
X-User-Id
: 許可されたユーザー ID の場合X-User-Scopes
: 許可されたユーザーのスコープ用
- など...
そしてもちろん、内部モジュールの言語 (PHP または Python または Java または ...) に依存しません。
X ミドルウェアは で構成する必要がありますapp.yaml
。
google-app-engine - 指定された名前とパラメータを使用して GCS にユーザーを直接アップロードする
Python GAE アプリのクライアントが、事前に設定した特定のオブジェクト名と GCS パラメータ (キャッシュ コントロールや ACL など) を使用してファイルを GCS に直接アップロードし、アップロードが完了した後にいくつかのアクションを実行できるようにしたいと考えています。
私は現在、これに を使用しblobstore.create_upload_url
ています。ただし、事前にパラメータやオブジェクト名を指定できないため、ファイル全体を「アップロードされた」コールバック ハンドラ内から GCS の新しい場所にコピーする必要があります。これは時間と (計算) リソースを消費するものであり、回避できるように思えます。
このプロセスを最適化する方法はありますか?
- 正しい名前と正しい ACL + キャッシュ制御パラメーターを持つオブジェクトをすぐにアップロードするアップロード URL を作成できますか? (署名付き URL を簡単に調べましたが、それらは blobstore API のようなコールバック ハンドラーをサポートしていないようです)
- そうでない場合、ファイルをバイトごとに新しい場所にコピーし、完了したら削除する必要がない方法はありますか? (ファイルを移動してその属性を変更できると便利です)
更新: GCS python クライアント ライブラリにcopy2
今あることに気付きました。これは以前にはなかったと断言できたかもしれませんが、2番目の質問に答えているようです.
python - Django と GAE: 認証内の奇妙な遅延
そこで、この Django アプリケーション (具体的には Django Rest Framework) を Google のアプリ エンジンに搭載しました。ほとんどの場合、正常に動作しますが、たまに奇妙な遅延 (4 ~ 5 秒から 10 ~ 20 秒まで...) が発生する場合を除いて、この遅延は、ユーザーの認証中に発生し、ビュー自体にアクセスする前に発生します。私はすでに2つの理論を取り消しました:
- 新しいインスタンスの開始と設定による遅延: Python インスタンスのウォームアップ オプションを既に使用しています ( https://cloud.google.com/appengine/docs/python/config/appconfig#Python_Warmup_requests )
- Cloud SQL 関連の遅延。アプリケーションは Cloud SQL と通信してユーザーを認証しますが、すべての SQL クエリをログに記録しましたが、クエリが実行される前に遅延が発生します。
それが GAE のアーキテクチャに関係なく、RPC によって制限されていない場合、何が起こっているのでしょうか? 私はcProfileをプラグインしました。これが私たちに伝えることができるものです(私はwsgiハンドラーの周りにcProfileをラップしました):
真ん中の行に注意してください: 約 10000 回の "len" 呼び出し。この同じプロファイリング レポートには、通常、このような行がありません。このばかげた遅延を伴うこれらの要求だけに、これらの 10000 の「len」呼び出しが含まれます。
これは、Cloud SQL への非常に長いクエリを示している可能性がありますが、前に述べたように、ログに記録されたクエリは. または、SQL ロギングに問題がある可能性があります... たぶん。
google-cloud-datastore - Google Appengine: データストア クエリでフィルタを指定すると、結果のフィールドが逆になります
開発サーバーで python appengine を実行しています。デバッグ コンソールでこのクエリを見ると、驚くべき結果が得られます。
間違い
そのため、クエリはInvoice.paid == Trueに一致するアイテムを選択することになっていますが、実際にはInvoice.paid == Falseを持つアイテムを返します。なぜこれが起こっているのでしょうか?
google-app-engine-python - Python 500エラーが発生したGoogle App Engineが引き続き発生します
このリンクhttp://ascii-chan-1018.appspot.com/で Ascii Art という Google アプリ エンジン アプリケーションを作成しましたが、何らかの理由で何かを投稿すると、画面に「500 内部サーバー」というエラー コードが表示されることがあります。エラー サーバーでエラーが発生したか、要求された操作を実行できません。」動作する場合もあれば、このエラー コードが表示される場合もあります。それが私のソースコードなのか、それともGoogleのサーバー上のエラーなのかはわかりません。
python - Google App Engine DB クエリのメモリ使用量
小さなオブジェクトの大規模なセット (いくつかの短い文字列とブール プロパティのみを持つ 15k オブジェクト) に対してクエリを実行すると、これらのオブジェクトに対して何もせずに、インスタンスのメモリ使用量が継続的に増加します (70Mb 増加)。メモリの増加は、クエリのためだけにメモリに保持する必要があるデータの量に比例しているようには見えません。
私が使用するループは次のとおりです。
これが appstats によるものではないことを確認するためにappstats.recording.dont_record()
、統計を記録しないように呼び出します。
何が起こっているのか、誰にも手がかりがありますか? または、これをデバッグ/プロファイルする方法に関する指針はありますか?
更新 1 :gc.set_debug(gc.DEBUG_STATS)
プロダクション コードを有効にしましたが、ガベージ コレクターが定期的に呼び出されているので、ガベージを収集しようとしています。gc.collect()
ループの最後 (リクエストの最後でもあります) でa を呼び出すと、 ; を返し0
、役に立ちません。
更新 2 : guppy を dev_appserver で動作させるためにいくつかのハッキングを行いましたが、これはgc.collect()
、ループの最後の明示的な後、ほとんどのメモリが「google.appengine.datastore.entity_pb の辞書」によって消費されたことを示しているようです。 。財産'。
google-cloud-datastore - GAE - 合計が 1000 を超える float を 2 つ追加すると、合計が 1000 の値に変更される
これは行政上の問題でした。問題が別のコードの別の場所にあり、インポートしたものを更新できる場合、それは私たちのせいであり、コードが壊れていると主張されました。ですから、これは問題ありません。
ディクショナリにある値をまとめて追加し、それらを変数に格納してから、NDB データストアに追加します。
基本的に、csv をインポートしてデータを解析しています。2 つの値の合計が 1,000.00 より大きい場合、浮動小数点数は千の値に変更されます。
例:
- 1263.13 は 1 に変わります
- 51367.42 は 51 に変わります
- 218.12 は変更されません (218.12)
データの保存に問題があると考えていますが、問題の再現に問題があり、少量のデータで「誤検知」が発生することを確認しています。IE: 問題はありません。
blob からの csv の読み取り:
値の計算:
保存値:
データストア列 'float_sum' は ndb.FloatProperty() です
私たちが理解しようとしているのは、数値が 1,000 を超える場合に浮動小数点数が千桁に切り捨てられる原因は何なのかということです。明らかに、2 つの float を一緒に追加しても通常はこの問題が発生しないことはわかっています。そのため、データストア自体に問題がある可能性があると考えています。