問題タブ [tornado]

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.

0 投票する
1 に答える
1348 参照

caching - Pythonで非同期クエリをキャッシュするエレガントな方法は?

Tornado Webサーバーを使用していて、非同期クエリ結果に静的キャッシュを利用したいと考えています。Pythonを使用すると、たとえばデコレータを使用して、ある種のキャッシュで関数を簡単にラップできます。

ただし、継続渡しを使用するとすぐに複雑になります。

私が考えることができる最も洗練された解決策は、呼び出し署名についての仮定をすることを必要としますが、それは常に実用的であるとは限りません。誰かがもっと良い方法を考えることができますか?

0 投票する
2 に答える
2210 参照

python - Python Tornado を使用した Ajax リクエストで 405 を取得する

別のポートで実行されているローカル サイトに対して、JavaScript (ライブラリなし) を介して "POST" 呼び出しを行う JavaScript があります。そのサイトが mod_python を使用してアプリを実行している場合、それは機能します。Tornado を使用してアプリを実行している場合、405 エラーで失敗します。ハンドラーに post() および options() メソッドを確実に実装しましたが、まだエラーが発生しています。これは mod_python で動作するため、これは可能である必要があります。Tornado が同じ IP からのリクエストを受け入れるようにする方法を知っている人はいますか?ただし、ポートは異なりますか? (私はこれをテストのためにローカルで行っているだけで、セキュリティの問題についてはまったく気にしません)。

0 投票する
1 に答える
2106 参照

django - Tornado など、Django プロジェクトの外で manage.py syncdb を使用するにはどうすればよいですか?

私はhttp://lincolnloop.com/blog/2009/sep/15/using-django-inside-tornado-web-server/を調べていて、必要に応じて Django の一部を使用するのは面白くて便利だと思いました。竜巻。

http://lincolnloop.com/blog/2009/sep/15/using-django-inside-tornado-web-server/のセットアップに基づいて、どのように使用できますmanage.py syncdbか?

これまでに試したことは次のとおりです。manage.pyをtornadoプロジェクトと同じフォルダーに移動して実行しようとしましたmanage.py syncdbが、settings.pyが見つからないというメッセージが返されます。

setting.py を同じフォルダーに移動して、manage.py を再度実行しようとしたよりも。フィクスチャが見つからなかったことがわかります。今回は Django プロジェクトではないため、settings.py の設定方法がわかりません。

アドバイスや考えはありますか?

=================アップデート======================

こんにちは、Agos から提供された上記のアドバイスを使用して、python manage.py syncdb --settings=dj_tornado を実行しようとしましたが、戻ります

だから私がしたことは実行するdjango-admin.py syncdb --settings=dj_tornadoことであり、それは戻ります"django.core.exceptions.ImproperlyConfigured: You haven't set the database ENGINE setting yet."

しかし、奇妙なことは、データベース エンジンが設定されていることです。これを修正するにはどうすればよいですか?ちなみに私はdjango 1.2.3とTornado 0.2を使用しています。

=================また更新します======================

こんにちは、manage.py と同じフォルダーにある settings.py ファイルを使用して、Agos から提供されたアドバイスを適用し、コマンドを実行しましたdjango-admin.py syncdb --settings=dj_tornado。私はまだエラーを受け取りました:

しかし、私はすでにデータベースベースのエンジンを次のように構成しています: dj_tornado.py:

私はちょっと頭がおかしいです。Django プロジェクト外で syncdb を使用するにはどうすればよいですか?

一番。

0 投票する
1 に答える
645 参照

django - トルネードの制作環境に関するアドバイスについての Django

Django と tornado を組み合わせる方法を探していたところ、https://github.com/koblas/django-on-tornadoに出会いました。

このセットアップを試した人はいますか?Tornado のみでアプリを作成する場合と比較して、上記のセットアップを使用する場合に (コーディングと運用環境の問題に関して) 違いはありますか?

上記のセットアップを使用している場合、何に注意する必要がありますか?

一番。

0 投票する
2 に答える
6081 参照

python - Using Tornado with Pika for Asynchronous Queue Monitoring

I have an AMQP server (RabbitMQ) that I would like to both publish and read from in a Tornado web server. To do this, I figured I would use an asynchronous amqp python library; in particular Pika (a variation of it that supposedly supports Tornado).

I have written code that appears to successfully read from the queue, except that at the end of the request, I get an exception (the browser returns fine):

I'm not entirely sure I am using this library correctly, so I might be doing something blatantly wrong. The basic flow of my code is:

  1. Request comes in
  2. Create connection to RabbitMQ using TornadoConnection; specify a callback
  3. In connection callback, create a channel, declare/bind my queue, and call basic_consume; specify a callback
  4. In consume callback, close the channel and call Tornado's finish function.
  5. See exception.

My questions are a few:

  1. Is this flow even correct? I'm not sure what the purpose of the connection callback is except that it doesn't work if I don't use it.
  2. Should I be creating one AMQP connection per web request? RabbitMQ's documentation suggests that no, I should not but rather I should stick to creating just channels. But where would I create the connection, and how do I attempt reconnects should it go down briefly?
  3. If I am creating one AMQP connection per Web request, where should I be closing it? Calling amqp.close() in my callback seems to screw things up even more.

I will try to have some sample code up a little later, but the steps I described above lay out the consuming side of things fairly completely. I am having issues with the publishing side as well, but the consuming of queues is more pressing.

0 投票する
1 に答える
250 参照

python - TornadopythonWebフレームワークからコードを変換して独立して動作させる

Tornado Python Web Frameworkに依存するライブラリを使用する必要がありますが、Tornadoに依存させることはできません。

このフレームワークからコードを変換するときに誰かアドバイスはありますか?

以前に同様の試みが行われたことがありますか(そして結果が公開されましたか)?

0 投票する
1 に答える
737 参照

facebook - Facebook 登録プラグインを使用したトルネード

Facebook は数週間前にhttp://developers.facebook.com/docs/user_registrationで登録プラグインをリリースしました 。

Tornado でこれをどのように実装できるのだろうか?

エラーを受け取り続けました: 403 POST /auth/fbform (127.0.0.1): '_xsrf' argument missing from POST

redirect_url はhttp://localhost:8888/auth/fbform で、コードは次のとおりです。

エラー メッセージがどの POST について話しているのか分からないので、get および post 関数から _parse_signed_request を使用しようとしました。

教えてください。ちなみに、私は現在ローカルコンピューターから作業しています。

よろしくお願いします。

0 投票する
1 に答える
758 参照

python - 竜巻とブロッキングコードの

私が取り組んでいるWebサービスのためにCherryPyから離れようとしています.1つの代替案はTornadoです。現在、私のリクエストのほとんどは、バックエンドで次のように見えます。

  • POST データを取得する

  • キャッシュにあるかどうかを確認します(データベースアクセス)

  • そうでない場合は、他の Web サービスに対して複数の HTTP リクエストを作成します。リクエストの数によっては、数秒かかることもあります。

竜巻のメイン ループをブロックしてはならないという話をよく耳にします。post()上記のコードのすべてが のメソッドで実行されるかどうか疑問に思ってRequestHandlerいます。これは、コードをブロックしていることを意味しますか? もしそうなら、上記の要件でトルネードを使用するための適切なアプローチは何ですか?

0 投票する
2 に答える
1265 参照

python - パイソン。stderr をログ ファイルにリダイレクトする

竜巻とnginxに取り組んでいるDjango Webサイトがあります。

このトルネード ランチャースクリプト(tornading.py)を使用しました。

次に、sys.stderr に情報を出力する python openid を使用しています。

その結果、IOError が発生します。

logging パッケージを使用してリダイレクトするにはどうすればよいですか?

私は考えました

また

しかし、それを解決する最善の方法は何ですか?

0 投票する
1 に答える
6032 参照

python - Tornado HttpGet で 1 つのパラメーターを複数のパラメーターと共に渡す

次のように、URL に 1 つのパラメーターを渡します (URL に含まれる多くのパラメーターの 1 つを更新するため)。

Python のサーバー側:

サーバーは、パラメーター「性別」が欠落しているため、これを行うことができないと言いました。どのようにできるのか?

ありがとう