node.js - 没有 http 端点的 Sails.js 工作 Node

标签 node.js heroku sails.js waterline

我正在构建一个使用 RabbitMQ 的 sails 应用程序,将 Web 请求中的一些任务委托(delegate)给工作 Node 。这几乎就是 https://devcenter.heroku.com/articles/background-jobs-queueing 中描述的模式和 https://github.com/heroku-examples/node-articles-nlp .

虽然我可以在工作 Node 中执行 sails.lift(),但似乎最好跳过 http 端点 (express) 和一些 grunt 任务(bower/前端依赖项下载,更少,网络资源复制到.tmp, ...).

有什么办法可以实现吗?

谢谢!

编辑

我需要在我的 worker 中使用 sail,这样我就可以使用 waterline ORM 以及在 sail 中定义和公开的公共(public)服务。

最佳答案

如果你想在没有网络服务器和其他网络相关组件的情况下使用 Sails ORM,你可以使用 Sails Hooks 配置一个最小的应用程序

我写了一篇关于我如何得到 background tasks working with SailsJS and Kue 的完整博文,但这里是主要的 Hook 部分:

require('sails').load({
    hooks: {
        blueprints: false,
        controllers: false,
        cors: false,
        csrf: false,
        grunt: false,
        http: false,
        i18n: false,
        logger: false,
        //orm: leave default hook
        policies: false,
        pubsub: false,
        request: false,
        responses: false,
        //services: leave default hook,
        session: false,
        sockets: false,
        views: false
    }
}, function(err, app){

    //You can access all your SailsJS Models and Services here
    User.findOne(1).then(function(user){
        console.log(user)
    })
})

关于node.js - 没有 http 端点的 Sails.js 工作 Node ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371111/

相关文章:

node.js - 使用 SailsJS 模型定义查询属性

node.js - 如何在 Node js Express 服务器中每午夜更新日期变量以从新集合 `data-${date}` 中获取

node.js - 在heroku上推送代码时出错拒绝删除文件存在将其移走

node.js - 当将具有node_modules的本地Node.js项目Git repo推送到Heroku时,本地node_modules是否会覆盖Heroku上的那些?

json - 由于 json 大小,http 请求失败 - 响应 503 和 Heroku 错误 H13

javascript - 如何将本地数据渲染为 JSON 文件

database - Node.js 在 app.js 中导出模块与在单个模块中包含 app.js

windows - Node.js 开发,windows 还是 linux?

java - IOAcknowledge 方法不适用于 Android 中的 SocketIO?

Sails.js 和 Foundation 6 - TypeError : url. indexOf 不是函数