首页 > 其他 > 详细

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

时间:2015-06-23 10:10:46      阅读:364      评论:0      收藏:0      [点我收藏+]

一 生命周期回调


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

技术分享

技术分享

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

原文:http://blog.csdn.net/xufeng0991/article/details/46602653

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!