Articles of heroku

如何dynamic使用编译目录(/ dist)与Herokupipe道

Heroku Pipelines目前处于testing阶段,看起来像是一个有前途的方法来简化Heroku平台上的连续交付。 但是,我无法find一个好的解决scheme或最佳实践来处理部署已编译的应用程序目录(通常位于/ dist)的常见开发模式,而忽略版本控制中的此目录。 pipe道中的每一个阶段直接stream入下一个下游阶段,而heroku slug不会被重新编译。 此外, “审查”应用程序/阶段可以configuration为启动临时应用程序基于拉请求等,这显然需要是一个未编译的分支。 我的问题:在部署单个代码库时,什么是最好的部署实践(在Heroku上)?在生产环境中需要编译目录,而在同一工作stream中需要debugging(未编译)环境(如Herokupipe道)? 我个人认为,这里的目标是使用“审查应用程序”function,但也可以直接进入生产应用程序。 可能的解决scheme: Dynamic slug – 由于Herokupipe道不重新编译,而是在“promotion”中将slug从一个应用程序复制到另一个应用程序,所以似乎需要一种方法来使应用程序的编译版本和未编译版本在一个slug中可访问,就像基于环境variables的expression式中间件一样。 但是,这本身似乎是危险的。 也许不会。 使用两个pipe道 – 创build两个pipe道,一个用于编译的应用程序,一个用于开发和“审查应用程序”。 这看起来像是破坏了pipe道的目的,因为你需要重新编译你的slu and,并找出一种方法来将你的未编译的开发提交(可能在另一个回购)“链接”到编译后的分布库(连接到生产pipe线)

Heroku部署nodejs应用程序与页面导航有问题

//This is my server.js node file var express=require('express') var path=require('path') var app=express() var alfa=express.Router() var port= (process.env.PORT || 5000) app.use(express.static(__dirname+'/')) alfa.get('/',function(req,res){ res.sendFile(path.join(__dirname+'index.html')) }); alfa.get('/movies',function(req,res){ res.sendFile(path.join(__dirname+'movies.html')) }) alfa.get('/shows',function(req,res){ res.sendFile(path.join(__dirname+'tvshows.html')) }) app.use('/',alfa) app.listen(port); console.log('Go to the port : ' + port); index.html具有对movies.html文件的href。 <a href="movies">Findout More…</a><span class="fa fa-chevron-circle-right"> 在运行应用程序后部署到heroku云中,加载第一个页面(没有正确的css;链接到外部css文件,这是一个类似的问题)。 在电影href链接点击错误出现在浏览器说内部服务器错误或页面未find。 后来我检查了Heroku日志的应用程序,它说如下: / app附加在hrefpathmovies.html之前 2016-01-30T00:27:06.417098+00:00 heroku[router]: at=info method=GET path="/scrol […]

node.js – 尝试使用Parse Server查询时,Heroku服务器超时?

我正在尝试为Parse服务器设置自己的自定义密码重置,因为当时没有该function。 我已经按照堆栈溢出本教程 – > 如何使用Heroku设置一个分析服务器 我也读过Github上的这个问题 – > 实现密码重置的提示? 以下是我在Github上发表的一篇指南: 用于处理密码重置提交的快速路由或云端function,用于查询与用户名/电子邮件匹配的用户。 生成一次性随机代码并将其保存在用户的某个位置…使用某个邮件提供商,通过链接向用户发送电子邮件。 一个处理链接的快速路由,它将提供的随机代码和search用户进行validation,然后向用户显示提供新密码的能力…使用主密钥覆盖密码并保存用户。 我设法完成了第一段,通过链接向用户发送电子邮件。 现在我正在尝试设置一个处理链接的快速路由,并为用户查询,但是我的分析查询似乎没有工作,而且heroku保持超时。 这是我的index.js (parsing服务器附带的默认类)中的代码,用于设置一个从链接中获取用户name的快速路由,并执行一个查询来获取用户,然后发送username 。 *注意我知道得到一个用户的name ,然后查询是不可扩展的,它只是仅用于testing目的。 //Testing web routes app.get('/route', function(req, res) { var query = new Parse.Query("_User"); query.equalTo("name", req.param("id")); query.get({ success: function(user) { res.status(200).send(user.get("username")); }, error: function(error) { res.status(200).send("error"); } }); }); 这是我点击的链接: 然后发生什么,我不明白的是页面不断加载,然后约30秒后Heroku超时,并在网页上显示此错误: 然后当我检查我的日志在heroku上: 我注意到这个错误: at=error code=H12 desc="Request timeout" […]

在heroku上部署node.js TCP服务器

我创build了一个使用node.js接收来自客户端消息(使用TCP客户端android应用程序进行testing)的TCP服务器。 是否有可能在heroku上部署? 这是代码 var http = require('http') var express = require('express') var app = module.exports = express.createServer(); var net = require('net') var port = process.env.PORT || 5000 var routes = require('./routes') app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.set('view options', {layout:false, pretty:true}); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, […]

strongloop / loopback / heroku“inq”运算符在本地服务器上正常工作,但不在Heroku上

如果我没有inq运算符运行 /api/Installations?filter[where][userId]=572d7995a80e6d0300b3f812 结果如下 [ { "appId": "myApp", "userId": "572d7995a80e6d0300b3f812", "deviceToken": "cjxfuAfldZ4:APA91bFwK6FTqGCgShU4cdk4mPMlFPhevhFTEzsRELUVt5lARYKvhxI8jb55SVCveYf3zjXel3Kb7JrAyoHv6e8Aob8M0SEdepRWrckKliS2Iyh3bWHWH8EIBOp", "deviceType": "android", "status": "active", "id": "572d7996a80e6d0300b3f813", "created": "2016-05-07T05:13:58.564Z", "modified": "2016-05-07T05:13:58.564Z" } ] 但是现在,如果我运行相同的查询与inq运算符如下 /api/Installations?filter={"where": {"userId": {"inq": ["572d7995a80e6d0300b3f812"]}}} 它给了我空的结果没有任何错误。 我浪费了好几个小时,却找不到可能的原因。 请帮助我….谢谢。

“” – >主人(预先接收钩子拒绝)

我使用Window机器。 我想上传我的网页游戏到Heroku,但我得到以下错误: E:\node3>git push heroku master Counting objects: 754, done. Delta compression using up to 4 threads. Compressing objects: 100% (687/687), done. Writing objects: 100% (754/754), 3.88 MiB | 313.00 KiB/s, done. Total 754 (delta 220), reused 0 (delta 0) remote: Compressing source files… done. remote: Building source: remote: remote: —–> Node.js app detected remote: […]

使用Dynos在Heroku上缩放Node.js应用程序

我想更好地理解在Heroku上扩展Node.js服务器。 我有一个应用程序,处理大量的数据,并已遇到一些内存问题。 如果Node.js服务器升级到2个dyno,这是否意味着我的应用程序能够在一个线程上处理高达1.024 GB的内存? 我的理解是,单个节点线程的内存限制为〜1.5 GB,超过了2x dyno的限制。 现在,假设我升级到性能-M dyno(2.5 GB内存),是否需要使用集群来充分利用2.5 GB内存? 此外,如果对我的Node.js应用程序提出了大量数据请求,而这些数据在处理的时间超过了分配给该群集的内存量,那么进程会使用分配给另一个群集的某些内存,它只是抛出一个错误?

带有节点js的facebook messeger bot api发送多个回复

我与消息bot api有一个错误。 由于某种原因,它在发送给某个用户的消息的时候会像多个20一样发射。 我在节点上使用heroku。 我不知道为什么这样做? 任何帮助将非常感激。 "use strict"; var express = require("express"); var app = express(); var bodyParser = require('body-parser'); var request = require('request'); app.use(bodyParser.json()); app.get('/', function(req, res){ res.send('hello'); }); app.get('/webhook', function (req, res) { if (req.query['hub.verify_token'] === 'my_voice_is_my_password_verify_me') { res.send(req.query['hub.challenge']) } res.send('Error, wrong token') }) app.post('/webhook', function (req, res) { let messaging_events = req.body.entry[0].messaging; […]

在Heroku socket.io不断给我H15空闲连接错误

我正在使用我的应用程序的socket.io目前正在生产(在heroku),我不断收到这些错误。 似乎所有东西都能正常工作,但是我的日志充满了错误。 Jun 23 15:33:00 fixtrackapi heroku/router: at=error code=H15 desc="Idle connection" method=GET path="/ws/?EIO=3&transport=websocket&sid=ZS_zSjEfTAkmA8GMAAAC" host=api.myurl.com request_id=18ca3817-009a-419f-8ef3-c598bc866bb4 fwd="84.194.46.28,54.155.253.188" dyno=web.1 connect=0ms service=119082ms status=503 bytes=189 Jun 23 15:33:01 fixtrackapp heroku/router: at=error code=H15 desc="Idle connection" method=GET path="/ws/?EIO=3&transport=websocket&sid=ZS_zSjEfTAkmA8GMAAAC" host=demo.myurl.com request_id=18ca3817-009a-419f-8ef3-c598bc866bb4 fwd="84.194.46.28" dyno=web.1 connect=0ms service=119741ms status=503 bytes=205 Jun 23 15:34:10 fixtrackapi heroku/router: at=error code=H15 desc="Idle connection" method=GET path="/ws/?EIO=3&transport=websocket&sid=w_vK_zsJv7BY9j7qAAAD" host=api.myurl.com request_id=d0a07db1-1cd1-4b3c-8229-c0fbc32a39db fwd="84.194.46.28,54.155.253.188" dyno=web.1 […]

如何debugging一个NodeJS阻塞的事件循环?

我们有一个运行在生产环境中的NodeJS / Express服务器,有时候所有的请求都被阻塞了。 networking请求正在接收,但没有处理(他们最终全部超时)。 几分钟后,它会再次接受请求,但几乎立即像以前一样开始阻塞。 我们一直试图在本地重现此问题,但无法重现并确定原因。 我的猜测是,事件循环被阻塞的时间太长,无法完成,或者根本不完成。 是否有任何方法来debugging现场制作系统,并找出是什么原因导致该块? 我search了,但只能find本地发展的解决scheme。 我最好的解决scheme是回顾日志,查看最后一个没有阻塞的请求(在开始阻塞之前),并debugging它? 使用Node 6.2.2,Express 4.13.4,并在Heroku上运行。