当前位置: 首页 > news >正文

网站建设自查报告全景网互动平台

网站建设自查报告,全景网互动平台,商务网站的分类,网页首页怎么设计目标 在主进程中完成以下事情: 每隔1秒钟输出,当前请求的数量创建等同于CPU数量的进程对每个进程施加一个处理函数,用于统计请求的数量 在各个CPU的进程中完成以下事情 监听8000端口的请求,并返回最简单的信息发送事件,以触发主进程中施加的事件处理函数 前置知识 process…目标 在主进程中完成以下事情: 每隔1秒钟输出,当前请求的数量创建等同于CPU数量的进程对每个进程施加一个处理函数,用于统计请求的数量 在各个CPU的进程中完成以下事情 监听8000端口的请求,并返回最简单的信息发送事件,以触发主进程中施加的事件处理函数 前置知识 process.pid 在主进程cluster.isMaster中, process.id是主进程的id 在工作进程(子进程)cluster.isWorker中,process.id是工作进程(子进程)的id 获取cpu的数量 const numCPUs require(os).cpus().length;判断一个进程是否为主进程 const cluster require(cluster); if(cluster.isMaster) { ... }创建一个新进程 const cluster require(cluster); const work cluster.fork();实现 const cluster require(cluster); const http require(http);if(cluster.isMaster) {// 主进程let count 0;// 每隔1秒钟,就输出当前的访问次数setInterval((){console.log(访问次数为: ${count})}, 1000);let numCPUs require(os).cpus().length;for(let i 0 ; i numCPUs ; i) {cluster.fork(); // 创建等同于cpu核数的进程}for(let id in cluster.workers){cluster.workers[id].on(message, (msg) {if(msg.cmd msg.cmd notifyRequest) {count;}})} } else {// 子进程http.Server((req, res) {if(req.url ! /favicon.ico) {res.writeHead(200);res.end(Hi Marron);// 通知执行 cmd.notifyRequest 事件process.send({cmd: notifyRequest});}}).listen(8000) }扩展 由于node.js是单线程.很容易卡死而导致崩溃.如下 const Koa require(koa); const app new Koa(); app.use(async (ctx, next) {aaa();await next();ctx.body marron; }); app.listen(3000);说明会直接报错ReferenceError: aaa is not defined,会直接退出当前进程.思路: 可以在主进程中监听,一旦发现有进程死亡,就开启新的进程. 综上所述,明确在主进程中的目标: 开启等同于CPU核数的进程,并将进程保存在进程组(workers)对象中.监听进程的死亡,一旦发现.就创建新的进程,并将新的进程替换挂掉的那个进程 子进程: 创建一个http服务器监听3000端口当访问该端口时,以一定的几率报错(让当天进程死亡). const cluster require(cluster); const os require(os); const numCPUs os.cpus().length; const process require(process);// 保存进程组的对象 const workers {}; if(cluster.isMaster) {// 主进程for(let i 0; i numCPUs; i){const worker cluster.fork(); // 创建一个进程workers[worker[pid]] worker; // 保存当前进程}cluster.on(death, function(worker){// 监听进程的死亡nWorker cluster.fork(); // 新建进程workers[worker.pid] nWorker;}) } else {const Koa require(koa);const app new Koa();app.use(async (ctx, next) {Math.random 0.95 ? aaa() : ; // 手动挂掉进程console.log(current process ${process.pid});await next();ctx.body marron;})app.listen(3000); }当挂的时候,自动重新启动当前服务
http://www.pierceye.com/news/321955/

相关文章:

  • 在线免费看影视网站正规企业展厅设计公司
  • 励志网站织梦源码做电子杂志用什么网站
  • 电子设计网站wordpress数据清除
  • 义乌网站推广中国住房和城乡建设厅网站
  • 濮阳seo网站建设商贸公司寮步网站建设
  • 百姓网网站建设如何在社交网站做销售
  • 网站微信认证费用介绍网络营销的短文
  • 北京微网站修改wordpress后台登陆
  • 网站建设管理工作情况报告企业在线
  • ps临摹网站营销型网站传统网站
  • 对电子商务网站建设和管理的理解学网站开发应该学什么软件
  • 建设网站的app英文成品网站模板下载
  • 破解版软件下载网站网站图片处理方案
  • 安徽网站建设方案服务汉中建设工程招标网
  • 网站建设公司企业模板下载阿里巴巴官网国际站
  • icp备案网站信息修改百度小说排行榜总榜
  • 崇明专业网站建设做网站后台要学什么
  • 专门做搜索种子的网站有哪些吉林平台网站建设多少钱
  • seo网站优化案例高端品牌裙子
  • 合肥需要做网站的公司无锡工程建设信息网站
  • 网站服务器有哪几种做招聘网站没有数据
  • 合肥手机网站制作建设自己做视频的网站
  • 公司网站备案名称广东建设项目备案公示网站
  • 网站建设设计维片长治网站建设公司
  • 商务网站建设兴田德润电话多少世界著名网站开发语言
  • 湖北网站建设公司微信手机网站设计
  • 徐州网站制作需要多少钱网站规划设计方案
  • 设计师常用网站门户重庆注册公司流程和费用标准
  • 网站图片太多怎么优化全民推广
  • 湖南做网站 e磐石网络做网站网站盈利会怎么样