pomelo生命周期回调和组件添加

一 生命周期回调


生命周期回调能够让开发者在不同类型的服务器生命周期中进行具体操作。
提供的生命周期回调函数包括:beforeStartup,afterStartup,beforeShutdown,afterStartAll。
其具体的功能说明如下:

beforeStartup(app, cb)
before application start components callback
Arguments
app - application object
cb - callback function


afterStartup(app, cb)
after application start components callback
Arguments
app - application object
cb - callback function


beforeShutdown(app, cb)
before application stop components callback
Arguments
app - application object
cb - callback function


afterStartAll(app)
after all applications started callback
Arguments
app - application object


具体使用方法:在game-server/app/servers/某一类型服务器/ 目录下添加lifecycle.js文件,具体文件内容如下:

module.exports.beforeStartup = function(app, cb) {
    // do some operations before application start up
    cb();
};


module.exports.afterStartup = function(app, cb) {
    // do some operations after application start up
    cb();
};


module.exports.beforeShutdown = function(app, cb) {
    // do some operations before application shutdown down
    cb();
};


module.exports.afterStartAll = function(app) {
    // do some operations after all applications start up
};

二 组件

首先,在app/components/添加HelloWorld.js文件, 大致代码如下:
// components/HelloWorld.js
module.exports = function(app, opts) {
  return new HelloWorld(app, opts);
};


var HelloWorld = function(app, opts) {
  this.app = app;
  this.interval = opts.interval | DEFAULT_INTERVAL;
};


HelloWorld.name = '__HelloWorld__';


HelloWorld.prototype.start = function(cb) {
  console.log('Hello World Start');
  cb();
}


HelloWorld.prototype.afterStart = function (cb) {
  console.log('Hello World afterStart');
  cb();
}


HelloWorld.prototype.stop = function(force, cb) {
  console.log('Hello World stop');
  cb();
}


这样一个组件就创建完成了,然后在app中配置,在master服务器中加载:
var helloWorld = require('./app/components/HelloWorld');


app.configure('production|development', 'master', function() {
  app.load(helloWorld, {interval: 5000});
});


三 示例

我这边是在arena服务中加入了lifecycle,同时加了一个组件,过程如下。

1 启动过程







2 关闭过程





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值