2012-02-04 65 views
2

我需要定期在CouchDB中執行一些後臺任務(猜測可以通過cronjob完成,只是對某些本地CouchDB方法感興趣)。我還需要從服務器上的HTTP中檢索一些資源(例如,通過OAuth2進行身份驗證並將令牌永久存儲在某個文檔中)。它可以以某種方式實現(例如nodejs與CouchDB集成在一起,我不太喜歡在couchdb前面有nodejs web服務器的想法,我試圖避免使用額外的層,並使用couchdb作爲HTTP服務器,DB支持並且服務器端業務邏輯)。CouchDB的服務器端任務

回答

2

CouchDB是一個數據庫。其主要工作是存儲數據。是的,它有一些JavaScript部分,但是這些部分是爲了幫助它構建索引,或者從JSON轉換爲JSON。

要求CouchDB運行週期性的cron風格的任務或者提取HTTP資源,就類似於要求MySQL運行週期性的cron風格任務或者獲取HTTP資源。不幸的是,這是不可能的。

您不一定需要HTTP服務器。您可以像以前一樣構建一個2.1層架構,並提供直接的瀏覽器到CouchDB連接;但你自己運行你的定期或長期後端程序,他們只需以普通用戶(也許是管理員用戶)的身份讀寫CouchDB數據。

+0

好的傑森,它是有道理的。但是,我如何才能使用CouchDB實現2步OAuth2身份驗證。當用戶點擊網頁上的「使用OAuth2身份驗證」鏈接時,我們使用一些參數調用OAuth2提供商網址。然後,OAuth2提供者回叫我們的URL,傳遞一些我們用來獲取access_token的authorization_code,以便我們稍後需要OAuth2提供者的所有請求。 可以在服務器上執行HTTP調用嗎? – Archer 2012-02-05 12:45:30

+0

好了,那又是一個愚蠢的問題,被仍在思考J2EE方式的人問了;)我們會做用戶代理流OAuth2認證。之後,該令牌將保存到CouchDB以備將來使用。 – Archer 2012-02-05 17:08:32