Comments (13)
我用的是Express,worker.js
里有连接MongoDB的代码,这样是不是多次连接数据库了?
from pm.
代码弄上来给我看看
from pm.
就你wiki上的代码
from pm.
就在http.emit('connection', socket)
下一行写了console
from pm.
具体代码得4号上班才能贴上来了
from pm.
另,如果一服务器有多个独立app,master.js
要写几份?独立于各项目之外,还是跟项目走?
from pm.
肯定是随项目走了
from pm.
你console.log的意思是每个HTTP请求进来都打印一个ooxx
from pm.
master.js:
var master = require('pm').createMaster({
pidfile: __dirname + '/tmp/jenny.pid'
})
master.register('http', __dirname + '/app.js', {
listen: 3000
})
master.on('giveup', function(name, num, pause) {
console.log('Master giveup to restart "%s" process after %d times. pm will try after %d ms.', name, fatals, pause)
})
master.dispatch()
app.js:
var express = require('express')
var mongoskin = require('mongoskin')
var app = express()
app.configure(function() {
var db = mongoskin.db('xxxx', { safe: true })
app.use(function(req, res, next) {
req.db = db
next()
})
})
var http = require('http').createServer(app)
require('pm').createWorker().ready(function(socket, port) {
http.emit('connection', socket)
console.log(
'Express server listening on port %d within %s environment.',
port, app.get('env')
)
})
$ node master.js
然后在浏览器访问localhost:3000
from pm.
这个没错的,每个request打印一个console.log。
看你的意思应该是需要监听worker的listen事件,https://github.com/aleafs/pm/wiki/Worker
from pm.
app.js 调整下:
var express = require('express')
var mongoskin = require('mongoskin')
var app = express()
app.configure(function() {
var db = mongoskin.db('xxxx', { safe: true })
console.log('MongoDB connected')
app.use(function(req, res, next) {
req.db = db
next()
})
})
var http = require('http').createServer(app)
require('pm').createWorker().ready(function(socket, port) {
http.emit('connection', socket)
})
console.log(
'Express server listening on port %d within %s environment.',
3000, app.get('env')
)
$ node master.js
app.js
被调用了 8 次?MongoDB也连了 8 次?
from pm.
你是8核CPU么?默认按CPU数起进程的
from pm.
4核的啊
from pm.
Related Issues (20)
- exception throw out for heartbeat when got sigterm
- need to fixed test case fails.
- worker is killed as soon as forked
- 能否支持worker在不同的机器上跑? HOT 6
- master crash with "uv__write: Assertion `fd_to_send >= 0' failed" HOT 4
- 执行Worker.reload()时,若某个worker进程还有没处理完的请求,能否等其处理完再退出? HOT 5
- work直接监听模式 HOT 3
- 请问这个跟Node官方的Cluster之间有什么区别? HOT 4
- pm 怎么搭配 express来使用 HOT 1
- Support Cluster.Worker API HOT 4
- aaa HOT 2
- 你好,请教你几个问题哈 HOT 2
- 关于集成pm与kraken HOT 4
- 当我control+c 终止master进程的时候,报错 HOT 1
- 怎样杀死所有子进程? HOT 1
- PM监听端口有没有个数限制? HOT 1
- 你好,请教关于监听地址的问题 HOT 1
- 0 down time 更新问题
- windows环境下tcp_wrap报错,Linux环境未测试
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pm.