2012-02-04 7 views
2

CouchDBではバックグラウンドタスクを定期的に実行する必要があります(cronjobを使って行うことができます。また、サーバのHTTPからいくつかのリソースを取得する必要があります(たとえば、OAuth2で認証し、一部のドキュメントに永続的にトークンを格納する)。私はcouchdbの前にnodejs webserverを置くことを本当に気に入らない、私はその追加の層を避け、HTTPサーバとしてcouchdbを使用し、DBをバックアップし、サーバー側のビジネスロジック)。CouchDBのサーバー側のタスク

答えて

2

CouchDBはデータベースです。その主な仕事はデータを保存することです。はい、JavaScriptの部分はいくつかありますが、これはインデックスの作成やJSONとの変換に役立ちます。

定期的なcronスタイルのタスクを実行したり、HTTPリソースを取得するようにCouchDBに依頼するのは、定期的なcronスタイルのタスクを実行するか、HTTPリソースを取得するかをMySQLに尋ねることに似ています。残念ながら、それは不可能です。

必ずしもHTTPサーバーが必要なわけではありません。以前のように直接のブラウザとCouchDBの接続を使用して、2.1層アーキテクチャを構築できます。定期的または長期的なバックエンドプログラムを自分で実行し、CouchDBデータを通常のユーザ(おそらく管理ユーザ)として読み書きします。

+0

Okジェイソン、それは意味があります。しかし、私はCouchDBで2ステップのOAuth2の自動化をどのように達成できましたか?ユーザーがウェブページ上で「OAuth2で認証する」リンクを押すと、OAuth2プロバイダのURLをいくつかのパラメータで呼び出しています。次に、OAuth2プロバイダはURLをコールバックして、いくつかのauthorization_codeを渡します。これは、後でOAuth2プロバイダへのすべてのリクエストに必要なaccess_tokenを取得するために使用します。 サーバーでHTTPコールを実行することは可能ですか? – Archer

+0

OK、それはもう愚かな質問でしたが、J2EEの方法をまだ考えている人が尋ねました;)ユーザーエージェントフローOAuth2認証を行います。その後、そのトークンは将来の使用のためにCouchDBに保存されます。 – Archer