首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我如何“分解”Meteor应用程序中长时间运行的服务器端函数?

我如何“分解”Meteor应用程序中长时间运行的服务器端函数?
EN

Stack Overflow用户
提问于 2015-12-09 19:16:18
回答 2查看 158关注 0票数 2

作为meteor应用程序的一部分,我有一个服务器端,它通过插入/更新集合来获取信息的POST消息,以馈送到web客户端。到目前一切尚好。然而,有时这些更新可能相当大(一次50K条记录,每5秒)。在我开始使用批插入包,然后是Mongo的低级batch.find.update()和batch.execute()之前,我一直很难跟上这一步。

然而,即使有50K的记录,仍然有大量的处理工作在进行(它会进行一些计算、分析等)。我希望能够“处理”这个逻辑,这样主事件循环就可以继续下去了。然而,我不确定是否有一种真正简单的方法来在Meteor中创建“真正的”线程。因此,我想知道至少“批处理”工作的最佳/适当方式,以便每N个(例如1K左右)记录我可以释放事件循环,以处理其他事件(如一些客户端DDP消息等)。然后再做1K记录,等等,直到我需要的记录完成。

我认为解决方案在于使用光纤/期货--这似乎是流星方式--但我不能肯定这是正确的,或者像"setTimeout()“和/或"setImmediate()”这样的低级想法更合适。

蒂娅!

EN

回答 2

Stack Overflow用户

发布于 2015-12-09 19:45:17

Meteor不是一刀切的工具。我认为您应该将meteor应用程序与批处理分离。设置一个单独的meteor实例,或者更好地设置一个纯node.js服务器来处理这些请求和批处理。它看起来像这样:

如果您在此实例中使用(https://www.npmjs.com/package/mongodb).

mongo中的更新将很快反映在meteor中。我遇到了类似的情况,使用节点服务器进行一些批量数据收集,然后将其传递到cassandra数据库中。然后,我使用pig拉丁语对这些数据运行了一些批处理操作,然后将其插入到mongo中。我的meteor应用程序几乎可以立即反应地显示新数据。

票数 0
EN

Stack Overflow用户

发布于 2015-12-10 10:55:42

您可以在服务器方法中调用this.unblock(),以允许代码在后台运行,并立即从该方法返回。请参见下面的示例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Meteor.methods({
  longMethod: function() {
    this.unblock();
    Meteor._sleepForMs(1000 * 60 * 60);
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34187156

复制
相关文章
python: 自动安装缺失库文件
Note: os.system('所需指令') 还可以完成许多其他任务,非常强大。
JNingWei
2018/09/27
9270
CentOS 6.4用源代码安装LAMP环境
在Linux中用源代码安装是一件很麻烦的事情,但也是对服务最好的安装模式之一,自己可以自定义安装哪些功能和模块。但是功能模块一但多了以后就会忽略某个选项,这样会导至以后服务中的某些功能不完善和运行不稳定,这将会给以后的测试维护带来十分不方便。现在我将写出自己在服务器上搭建的过程,希望对大家有帮助,但如果比我有更好的方法我希望大家指出来,避免以后出现同一问题。
星哥玩云
2022/06/28
2750
CentOS 6.4用源代码安装LNMP环境
对于在Linux系统中安装web服务其实都是差不多的,只是软件的选择不一样,不过在php-5.2.17和以前的版本LNMP环境和以后安装有一点区别,就是启用--enable-fastcgi这个模块。现在我用php-5.3.27来搭建LNMP环境,对于搭建不成功的网友们希望给我留言,大家一起解决问题,一起进步。
星哥玩云
2022/06/28
3310
CentOS 6.4用源代码安装LNMP环境
CentOS下源代码编译和安装Apache
wget http://mirror.downloadvn.com/apache//httpd/httpd-2.4.41.tar.gz
星哥玩云
2022/07/29
4880
CentOS下源代码编译和安装Apache
CentOS 6.2下以源代码方式安装LAMP
相关附件 百度云盘下载:http://pan.baidu.com/s/12JCku
星哥玩云
2022/07/04
3160
CentOS 6.2下以源代码方式安装LAMP
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
2013-07-26 写过一篇《CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4》,CentOS 7在CentOS 6的基础上有很大的调整,本文是这篇文章的更新,主要介绍CentOS 7下安装Mono 3.4 和 Jexus 5.6。 CentOS是一个基于RHEL的Linux发行版,其目的是为了提供一套免费与自由的企业等级Linux发行版。CentOS的名称来自于「Community ENTerprise Operating System」,从名称便可以知道这是一套由社区主导、并以企业
张善友
2018/01/19
1.4K0
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
在 Ubuntu Server 上安装配置 Mono 生产环境
在 Ubuntu Server 上安装和配置 Apache2 + Mono 生产环境的记录。 服务器环境是 Ubuntu Server 13.04 虚拟机模式 (Virtual Machine Mode), 安装的 Mono 的版本是 3.2.1 , 最终环境如下图所示:
beginor
2020/08/10
1.2K0
在 Ubuntu Server 上安装配置 Mono 生产环境
conda管理C源代码程序的时候总是出现库文件冲突或者缺失
现在初学者都喜欢使用conda来管理软件环境,安装方法代码如下: #一路yes下去 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-4.6.14-Linux-x86_64.sh source ~/.bashrc ## 安装好conda后需要设置镜像。 conda config --add channels https://mirrors.tuna.tsinghua.edu.
生信技能树
2020/10/27
9510
conda管理C源代码程序的时候总是出现库文件冲突或者缺失
CentOS7下源代码安装netcat-0.7.1
NetCat-0.7.1的官网地址为:http://netcat.sourceforge.net/,如下图所示:
ccf19881030
2020/11/03
1.7K0
CentOS7下源代码安装netcat-0.7.1
CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇《32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0》,2013年7月24日Mono 3.2发布了,3.2版本有很多期待的新特性,具体参看《跨平台的 .NET 运行环境 Mono 3.2 新特性》,本文主要就是这篇文章的更新。 CentOS是一个基于RHEL的Linux发行版,其目的是为了提供一套免费与自由的企业等级Linux发行版。CentOS的名称来自于「Comm
张善友
2018/01/19
1.1K0
CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
在Linux/Unix上架设ASP.NET WEB服务器,有两个可选方式,一种是Mono+XSP,一种是Mono+Jexus,其它的方式,比如 Apache+mod_mono、Nginx+FastCgi 等等,其实质与XSP并无区别,都是使用Mono所提供的ASP.NET处理模块:Mono.WebServer名字空间实现对ASP.NET网站的支持。Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。那么XSP和
张善友
2018/01/22
3.1K0
推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
  由于Linux/Unix等有更强的安全性、运行效率高、拥有大量优秀的开源组件,而.Net则有着其他语言无与伦比的开发效率,因此在非微软平台下运行.Net程序的需求很强烈。Mono 是一个由Novell 公司发起、并且得到微软支持的开源项目。Mono 项目可以在Linux,FreeBSD,Unix,Mac OS X 、Android和苹果系统等非微软操作系统下兼容运行.Net程序。目前占IOS游戏应用市场55%份额的游戏都是使用基于Mono的Unity3d技术开发的。    基于Mono让ASP.Net开发的网站运行在Linux操作系统下也已经有了大量成功的案例,比如世界著名的网站“维基百科WikiPedia ”的搜索部分就是使用Mono支撑运行的、Mozilla开发者社区也是基于Mono运行,可以看http://www.mono-project.com/Companies_Using_Mono  这一些使用Mono进行开发的公司的列表。让.Net脱离Windows的禁锢,在开源的世界中尽情的徜徉。
Edison Zhou
2018/08/20
1.3K0
Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
centos 7 安装Samba服务(文件共享)
今天是一个安装samba文件共享服务 首先依旧是先把Linux服务器改为静态IP vim /etc/sysconfig/network-scripts/ifcfg-ens33
小手冰凉
2019/09/10
8620
centos 7 安装Samba服务(文件共享)
CentOS MONO nginx 运行
     yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel
py3study
2020/01/09
1.1K0
Maven 编译项目缺失xml文件
有一些情况下,在java目录下,除了会有java代码,还有一些xml,比如使用hibernate时候,*.hbm.xml文件可能会放在某一个包下,在部署的时候是需要把这些XML也复制过去的。
前Thoughtworks-杨焱
2021/12/08
5410
CentOS安装 FTP文件服务器
在文件最后面新增allow_writeable_chroot=YES,允许已登录用户进行上传
爱游博客
2019/08/06
4.1K0
CentOS安装 FTP文件服务器
Python实验:消除缺失的文件编号
#####编写一个程序,在一个文件夹中,找到所有带指定前缀的文件,诸如spam001.txt,spam002.txt 等,并定位缺失的编号(例如存在spam001.txt 和spam003.txt,但不存在spam002.txt)。让该程序对所有后面的文件改名,消除缺失的编号。 import shutil, re, os filedir = 'C:\\Users\\Loyu\\Desktop\\python1' a = os.listdir(filedir) alist = ' '.join(a) sp
py3study
2020/01/09
1.2K0
centos 安装 使用本地图像文件来安装网络安装「建议收藏」
有时很无奈,无盘,U它只有盘4G而一个centos该盘4.16G,如何将它安装了网络安装,对不起,你想用20M更多的带宽,并注意使用网络启动盘的方法
全栈程序员站长
2022/07/06
3900
CentOS7下编译FFMPEG源代码
找到一篇关于在CentOS7下编译FFMPEG源代码的文章,地址为:Compile FFmpeg on CentOS
ccf19881030
2020/10/26
7560
CentOS7下编译FFMPEG源代码
点击加载更多

相似问题

在CentOS 6.3上安装Mod_Mono和Xsp4

29

无法在Centos上使用mono启动XSP 4.5

11

作曲家安装,ext缺失- LEMP Centos 7

10

运行lwpd.xsp.core源代码的调试会话

12

在centos上从python源代码中安装opencv

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文