草庐IT

分布式任务

全部标签

javascript - 如何为我的任务实现实现 Promise.all 的等价物?

这是我的Task实现(即一种Promise但遵守monad法则并且可取消)。它工作坚如磐石:constTask=k=>({runTask:(res,rej)=>k(res,rej)});consttAp=tf=>tk=>Task((res,rej)=>tf.runTask(f=>tk.runTask(x=>res(f(x)),rej),rej));consttOf=x=>Task((res,rej)=>res(x));consttMap=f=>tk=>Task((res,rej)=>tk.runTask(x=>res(f(x)),rej));consttChain=fm=>mx=>Ta

javascript - 在具有良好分布的两个整数之间散列字符串(均匀散列)

我正在尝试对介于0和非常低的n之间的一些字符串进行哈希处理,以便为每个用户提供一种颜色。这是我的(工作)代码:functionnameToColor(name){varcolors=['red','blue','green','purple','orange','darkred','darkblue','darkgreen','cadetblue','darkpurple'];varhash=hashStr(name);varindex=hash%colors.length;returncolors[index];}//djb2hashfunctionhashStr(str){varh

javascript - 使用 npm 作为任务运行器/构建工具 - 某些 cli 模块有问题

阅读这篇文章后,我正在尝试使用npm作为任务运行器/构建工具:Howtousenpmasabuildtool虽然我取得了一些成功,但我仍然坚持一件事。当运行JSLINT、JSHINT或ESLINT等命令行全局工具时,npm将始终在控制台窗口中显示Exit1代码:如您所见,该命令运行良好,但npm将其视为错误并显示错误日志信息。这是否正常和/或是否有针对特定命令将其关闭的方法?附加信息:这是我的package.json配置中的脚本block:“脚本”:{“开始”:“Node./src/server/index.js”,“测试”:””,“lint”:“eslintindex.js”然后在n

javascript - Gulp:运行没有目的地的任务

我正在尝试做一个简单的任务,使用gulp-size包显示路径数组中每个文件的文件大小,如下所示:vargulp=require('gulp')varsize=require('gulp-size')gulp.task('size',function(){gulp.src(bigArrayOfFilePathsFromAnotherModule).pipe(size({showFiles:true}))})当它运行时,它完成了一部分,但随后任务在所有文件被处理之前完成。如果我将它们通过管道传输到目的地,它工作得很好,但我不想将文件复制到任何地方。有没有办法将这些文件通过管道传输到黑洞中以

javascript - Node.JS async.parallel 不会等到所有任务都完成

我正在使用aync.parallel并行运行两个函数。这些函数请求RSS提要。然后RSS提要被解析并添加到我的网页。但由于某些原因async.parallel运行回调方法时没有等到两个函数完成Thedocumentationsays:Oncethetaskshavecompleted,theresultsarepassedtothefinalcallbackasanarray.我的代码。require('async').parallel([function(callback){fetchRss(res,bbcOpts);//Needstimetorequestandparsecallb

javascript - 如何按顺序运行 gulp 任务?

这个问题在这里已经有了答案:HowtorunGulptaskssequentiallyoneaftertheother(15个答案)关闭5年前。我在gulp中有一些任务,除了一个可以并行运行之外,所有这些任务都可以并行运行。让我们考虑一个例子:vargulp=require('gulp');gulp.task('clean',function(){//cleanupoutputfolder});gulp.task('copy1',function(){//writesstreamintheoutputfolder});gulp.task('copy2',function(){//wri

Yarn增加新队列-----hive向Yarn提交任务后,Hadoop再次向Yarn提交任务阻塞

博学之,审问之,慎思之,明辨之,笃行之🏂hiveonspark搭建好后,任务提交会有问题,因为通过hive会话提交的任务一直存在且不会结束(除非关掉这个hive会话),根本原因是这些任务提交到了Yarn的同一个队列中,前面的任务没有执行完毕后面的任务不会执行,所以解决办法是增加一个Yarn队列,指定任务提交的队列,这样就不会出现任务的阻塞。目录一、情景复现二、原因三、Yarn队列配置—增加队列1.情景复现:搭建好hiveonspark后,在命令行直接进入hive会话,提交任务后,在ResourceManager上jps查看进程可以看到有个进程ApplicationMaster一直存在,打开Re

『赠书活动 | 第一期』《分布式中间件核心原理与RocketMQ最佳实践》

💗wei_shuo的个人主页💫wei_shuo的学习社区🌐HelloWorld!『赠书活动|第一期』本期书籍:《分布式中间件核心原理与RocketMQ最佳实践》赠书规则:评论区:点赞|收藏|留言评论区留言:"人生苦短,我用Java"活动截止时间:4月23日赠书数量:1Tip:中奖后博主私信通知|三天内不回复将视为|自动放弃书籍介绍分布式中间件核心原理与RocketMQ实战技术一本通:实战案例+操作步骤+执行效果图,手把手教你吃透分布式中间件技术,轻松实现从小白到大牛的职业跃迁!分布式中间件核心原理与RocketMQ实战技术必修宝典!内容简介本书从分布式系统的基础概念讲起,逐步深入分布式系统中间

分布式微服务中Feign的使用 让你完全了解使用Feign

Feign简介Feign是声明式的http客户端,官网地址:[https://github.com/openfeign/feign]其作用就是帮助我们优雅的实现http请求的发送。它让微服务的调用变得更简单了,类似Controller调用service。SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。只需要创建一个接口,然后添加注解即可!RestTemplate的缺点微服务远程调用方式还有通过RestTemplate,但是RestTemplate存在一定的缺点比如参数很多的情况下那么他的http地址将会难以维护。相信我用过Feign之后

javascript - Grunt 任务陷入无限循环

正在为一些即将开展的项目构建基础Gruntfile.js。从一台新电脑开始,一切都是全新的。使用Homebrew安装了Node和NPM,然后在全局以及我的本地目录中安装了Grunt。这是我的package.json:{"name":"timespent-prototype","version":"0.1.0","devDependencies":{"assemble":"0.4.37","bower":"^1.4.1","grunt":"^0.4.5","grunt-contrib-concat":"^0.5.1","grunt-contrib-sass":"^0.9.2","grun