【问题标题】:Server side tasks for CouchDBCouchDB 的服务器端任务
【发布时间】:2012-02-04 19:50:18
【问题描述】:

我需要在 CouchDB 中定期执行一些后台任务(猜测可以通过 cronjob 完成,只是对一些原生 CouchDB 方法感到好奇)。我还需要从 server 上的 HTTP 检索一些资源(例如,通过 OAuth2 进行身份验证并将令牌永久存储在某个文档中)。是否可以以某种方式实现(例如将 nodejs 与 CouchDB 集成。我真的不喜欢在 couchdb 前面有 nodejs webserver 的想法,我试图避免那个额外的层并使用 couchdb 作为 HTTP 服务器,数据库支持和服务器端业务逻辑)。

【问题讨论】:

    标签: couchdb


    【解决方案1】:

    CouchDB 是一个数据库。它的主要工作是存储数据。是的,它有一些 JavaScript 部分,但这些部分是为了帮助它构建索引,或与 JSON 进行转换。

    要求 CouchDB 运行定期 cron 式任务或获取 HTTP 资源,类似于要求 MySQL 运行定期 cron 式任务或获取 HTTP 资源。不幸的是,这是不可能的。

    您不一定需要 HTTP 服务器。您可以构建一个 2.1 层架构,像以前一样使用浏览器到 CouchDB 的直接连接;但是你自己运行你的周期性或持久的后端程序,它们只是以普通用户(可能是管理员用户)的身份读写 CouchDB 数据。

    【讨论】:

    • 好的,杰森,这是有道理的。但是我怎么能用 CouchDB 实现两步 OAuth2 身份验证。当用户点击网页上的Authenticate with OAuth2 链接时,我们正在调用带有一些参数的 OAuth2 提供程序 URL。然后 OAuth2 提供者回调我们的 URL,传递一些我们用来获取 access_token 的授权码,我们稍后需要所有对 OAuth2 提供者的请求。是否可以在服务器上执行 HTTP 调用?
    • 好吧,这又是一个愚蠢的问题,由仍在考虑 J2EE 方式的人提出;)我们将进行用户代理流 OAuth2 身份验证。之后,该令牌将保存到 CouchDB 以供将来使用。
    猜你喜欢
    • 2018-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多