pomelo生命周期回调和组件加入
一 生命周期回调
生命周期回调可以让开发人员在不同类型的server生命周期中进行详细操作。
提供的生命周期回调函数包含: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中配置。在masterserver中载入:
var helloWorld = require('./app/components/HelloWorld');
app.configure('production|development', 'master', function() {
app.load(helloWorld, {interval: 5000});
});
三 演示样例
我这边是在arena服务中增加了lifecycle,同一时候加了一个组件,步骤例如以下。
1 启动过程
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVmZW5nMDk5MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2 关闭过程
pomelo生命周期回调和组件加入的更多相关文章
- Cocos Creator学习三:生命周期回调函数
1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...
- 如何解决微信小程序界面适配问题-引用-生命周期回调函数-优化机制-样式引入
如何解决微信小程序界面适配问题 .wxss page{ height: 100%; width:750rpx; } this.setData({ imageWidth: wx.getSystemInf ...
- 【技术博客】Flutter—使用网络请求的页面搭建流程、State生命周期、一些组件的应用
Flutter-使用网络请求的页面搭建流程.State生命周期.一些组件的应用 使用网络请求的页面搭建流程 在开发APP时,我们常常会遇到如下场景:进入一个页面后,要先进行网络调用,然后使用调用返 ...
- Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置
Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...
- Bean XML 配置(2)- Bean作用域与生命周期回调方法配置
系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Contro ...
- Cocos Creator 生命周期回调(官方文档摘录)
Cocos Creator 为组件脚本提供了生命周期的回调函数.用户通过定义特定的函数回调在特定的时期编写相关 脚本.目前提供给用户的声明周期回调函数有: onLoad start update la ...
- Angular6 基础(数据绑定、生命周期、父子组件通讯、响应式编程)
Angular相比于vue来说,更像一个完整的框架,本身就集成了很多模块,如路由,HTTP,服务等,而vue是需要另外引入比如(vuex,axios等).Angular引入了依赖注入.单元测试.类等后 ...
- 我的Android进阶之旅------>Android服务的生命周期回调方法
先引用一段官网上的文字 ======================================================================================== ...
- 简单记录一下vue生命周期及 父组件和子组件生命周期钩子执行顺序
首先,vue生命周期可以用下图来简单理解 当然这也是官方文档的图片,详细的vue周期详解请参考这里 然而当同时存在父子组件的时候生命周期钩子是如何执行的呢? 请看下文: 加载渲染过程父beforeCr ...
随机推荐
- [BZOJ4872][六省联考2017]分手是祝愿(期望DP)
4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 516 Solved: 342[Submit][Statu ...
- 1.4(JavaScript学习笔记) window对象的属性及方法
一.window对象 window对象代表当前窗口,所有全局对象都是windows的属性, 例如document是window的属性,window.document.writer("&quo ...
- Problem G: 深入浅出学算法008-求佩尔方程的解
Description 求关于x y的二次不定方程的解 x2-ny2=1 Input 多组输入数据,先输入组数T 然后输入正整数n(n<=100) Output 对于每组数据输出一行,求y< ...
- VK Cup 2016 - Qualification Round 1 (Russian-Speaking Only, for VK Cup teams) D. Running with Obstacles 贪心
D. Running with Obstacles 题目连接: http://www.codeforces.com/contest/637/problem/D Description A sports ...
- Swift 自定义打印方法
Swift 自定义打印方法 代码如下 // MARK:- 自定义打印方法 func MLLog<T>(_ message : T, file : String = #file, funcN ...
- LT1946A-- Transformerless dc/dc converter produces bipolar outputs
Dual-polarity supply provides ±12V from one IC VC (Pin 1): Error Amplifier Output Pin. Tie external ...
- Add margining capability to a dc/dc converter
You can easily add margining capability—that is, the ability to digitally adjust the output voltage— ...
- ida plug-in helloworld
#include <ida.hpp> #include <idp.hpp> #include <loader.hpp> #include <kernwin.h ...
- Spring MVC一事务控制问题
在近期一个项目中用了Spring MVC作为控制层框架,但却出现了一个让人非常费解的问题:事务控制. Spring MVC的配置文件名称为:springMVC-servlet.xml,内容例如以下: ...
- Android学习之Http使用Post方式进行数据提交(普通数据和Json数据)
转自:http://blog.csdn.net/wulianghuan/article/details/8626551 我们知道通过Get方式提交的数据是作为Url地址的一部分进行提交,而且对字节数的 ...