Articles of heroku

没有http端点的Sails.js工作者节点

我正在构build一个使用RabbitMQ的sails应用程序,将Web请求中的一些任务委托给工作节点。 这几乎是https://devcenter.heroku.com/articles/background-jobs-queueing和https://github.com/heroku-examples/node-articles-nlp中描述的模式。 虽然我可以在worker节点中执行sails.lift(),但是似乎跳过http端点(express)和一些grunt任务(bower / frontend dependencies download,less,web资源复制到.tmp, …)。 有什么办法可以实现吗? 谢谢! 编辑 我需要在我的工作人员的帆,所以我可以使用水线ORM和定义和暴露在帆中的共同服务。

在heroku上无法通过node.js连接到mongolab

我在使用mongolab在heroku上制作node.js和mongodb时遇到了麻烦。 我已经阅读了其他问题,比如如何在MongoLab上设置Heroku上的MongoDB数据库? 以及如何在Node.js Web应用程序中pipe理MongoDB连接? 但我仍然无法build立我的联系。 在日志中显示[Error:failed to connect to …] 我有从数据库,主机和端口MONGOLAB_URI进程env.I有以下代码: var mongoUri = mongodb://heroku_app17328644:{password}@ds037518.mongolab.com //taken from process.env.MONGOLAB_URI var host = 'mongodb://heroku_appXXXXXX:{password}@ds037518.mongolab.com'; var port = '37518'; var database = 'heroku_appXXXXXX'; Provider.db = new Db(database, new Server(host, port, { safe: true }, { auto_reconnect: true }, {})); Provider.db.open(function(err, db){ console.log(db); //null if (err) console.log(err); else console.log('success'); […]

在Heroku上使用NodeJS进行HTML5audio转换

我有一个HTML5应用程序,允许用户上传和播放他们的audio文件。 服务器是在Heroku上运行的Node。 为了允许跨浏览器的audio播放,我所理解的是,我必须至less保持每个audio文件的两种格式,比如.mp3和.ogg。 所以,我需要在服务器端自动转码文件。 问题是Heroku不运行ffmpeg。 我发现这个项目创build了一个支持ffmpeg的heroku自定义buildpack,但似乎是Rails应用程序: https : //github.com/dzello/ffmpeg-heroku 。 我正在考虑运行外部服务器进行转码,我的nodejs应用程序将文件发送到该服务器,进行转码,然后重新上传我的nodejs服务器上的新文件。 但是我不知道如何build立这样一个服务器,是否已经有了一个可以做这种工作的现成解决scheme呢? 所以,这是我的问题: 1- Is there a solution to run ffmpeg on heroku+nodejs? 2- How can I set up a transcoding server that communicates with my nodejs+heroku server? 谢谢!

Node.js为heroku构buildjson api

我想通过node.js构buildAPI,这在本地是正常工作,但在云中失败。 你能帮我findbug吗? 谢谢 https://infinite-gorge-6020.herokuapp.com app.get('/', function(req, res) { res.render('index.ejs'); }); app.get('/host', function(req, res) { var sessionId = app.get('sessionId'), // generate a fresh token for this client token = opentok.generateToken(sessionId, { role: 'moderator' }); res.json('host.ejs', { apiKey: apiKey, sessionId: sessionId, token: token }); 日志 2014-11-26T03:25:38.289313+00:00 heroku[router]: at=info method=GET path="/css/sample.css" host=infinite-gorge-6020.herokuapp.com request_id=18d8ce80-53a3-487f-94f5-a45f984bad67 fwd="1.171.57.36" dyno=web.1 connect=4ms service=6ms status=200 […]

Heroku不更新node.js> package.json Github tarball依赖

我在Github上pipe理一个依赖项,我在项目中用它作为依赖项。 我把这个依赖作为一个tarball链接(即https://github.com/username/dependecy/tarball/master )放到了package.json中,并且在本地工作正常。 当我在Github上更新软件包时,我可以运行一个npm install ,包括Github tarballs在内的所有依赖项都会更新。 然而Heroku并非如此。 tarball链接的依赖不会被更新。 有任何想法吗?

在heroku上使用PM2 CLI

我想在Heroku上使用pm2。 我看过这里提供的文档: http : //pm2.keymetrics.io/docs/usage/use-pm2-with-cloud-providers/#heroku-google-app-engine-azure 看起来应用程序一旦部署就可以正常工作,并且日志表明多个实例已经在2Xdynamic码上启动。 然而,当我运行: heroku run bash和做pm2 ls我得到一个空的列表: ┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ └──────────┴────┴──────┴─────┴────────┴─────────┴────────┴────────┴──────────┘ 而且我不能使用任何pm2 CLIfunction。 我明白,当我做一个heroku run命令一次性的dynamic是在飞行中创build的,并且在这个dynamic运行的pm2实例不运行任何进程。 但是,我不明白我怎么能访问pm2在一个特定的测功机。 有没有办法利用Heroku上的pm2 cli?

Heroku找不到当地的npm包

我有一个本地npm软件包包含在我的回购(我不包括整个node_modules到我的回购,由于其超过200mb的大小,只有具体的包,我不得不修改,以适应我的需要)。 在package.json ,本地包声明如下所示: dependencies : { local_package: "./my_local_package" … } 我得到的错误 npm ERR! enoent ENOENT: no such file or directory, open '/app/tmp/cache/my_local_package' 我不确定/app/tmp/cache是否是我的repo驻留的地方,如果不是,我应该更改它。 节点v4.2.1,npm v2.14.7

在Heroku上制作一个NodeJs应用程序

我试图在Heroku上创build一个NodeJS应用程序,这样只有开发人员才能看到它。 有没有简单的方法来做到这一点,如基本身份validation? (我一直发现的所有解决scheme都针对Ruby应用程序)。

从Heroku的子目录运行npm

我有一个解决scheme,最初包含2个项目。 一个是API,二是客户端。 而且这个项目都有自己的依赖关系映射到它们自己的packages.json文件中,这些文件放在subdir中。 所以问题是如何从heroku上的子目录运行'npm install'? 我尝试了一些东西在主npm文件中 "scripts": { "postinstall": "cd my_subdir; npm install" }, 但它不起作用,显示can't cd to my_subdir

在Heroku上使用cluster和socket.io-redis缩放node.js socket.io@1.*.*

有没有人知道一个很好的解决scheme来扩展一个基于node.js – socket.io的应用程序在多个核心? 我目前正在testingsocket.io文档中提供的解决scheme,以在多个节点上使用socket.io,但没有取得具体的成功。 我在github上创build了一个操作系统: https : //github.com/liviuignat/socket.io-clusters ,它是从socket.io站点修改的聊天应用程序的一个拷贝。 它使用express , cluster , socket.io@1.1.0和socket.io-redis 。 目前还有一个在分支feature/sticky使用sticky-session的实现,似乎更好。 最后,这个应用程序需要发布到Heroku ,并扩展到多个dynos。 最初我尝试做这样的事情 – 只为群集节点启动服务器,但我总是得到错误: 失败:连接closures之前收到握手响应 if (cluster.isMaster) { for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', function(worker, code, signal) { console.log('worker ' + worker.process.pid + ' died'); }); } else { var server […]