ITKeyword,专注技术干货聚合推荐

注册 | 登录

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

分享于 2015-06-23

2018阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=gh9qh5ki&utm_source=gh9qh5ki

一 生命周期回调


生命周期回调能够让开发者在不同类型的服务器生命周期中进行具体操作。
提供的生命周期回调函数包括: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 关闭过程





一 生命周期回调 生命周期回调能够让开发者在不同类型的服务器生命周期中进行具体操作。 提供的生命周期回调函数包括:beforeStartup,afterStartup,beforeShutdown,afterStartAll。 其具体的
在线网页数据采集器

相关阅读排行


用户评论

游客

在线网页数据采集器

相关内容推荐

vivo京东自营官方旗舰店

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。