有没有一种方法可以遍历块中的ID数组,然后等待该块的响应继续循环?
例如:
Promise = require("bluebird")
function(array){
return Promise.*something that will loop chunks from my array and wait for each chunk response*.map(function(id){
return myfunction(id);
});
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我需要等待正在访问的数据库的响应,并且它无法回答我同时创建的所有调用。我的代码提出了超时异常,因为我太激进了。
我的代码如下:
Promise = require("bluebird")
function(array){
return Promise.map(array, function(id){
return myfunction(id);
});
}
Run Code Online (Sandbox Code Playgroud)
编辑:我找到了解决方案!
Promise = require("bluebird")
function(array){
return Promise.map(array, function(id){
return myfunction(id);
}, {concurrency: 10});
}
Run Code Online (Sandbox Code Playgroud) .pem我通过 openssl 命令使用and文件在 MacOS ElCaptain 上创建了一个 p12 文件.key:
openssl pkcs12 -export -in <PEM_file>.pem -inkey <PRIVATE_KEY>.key -out <FILENAME>.p12
Run Code Online (Sandbox Code Playgroud)
一切顺利。我能够使用这个 p12 进行 cURL 调用。
当我在 Ubuntu 14.04.5 LTS 上执行相同操作(使用相同的.pem和.key)时,当我将 cURL 与 p12 一起使用时,我开始收到此消息:
curl: (58) unable to use client certificate (no key found or wrong pass phrase?)
Run Code Online (Sandbox Code Playgroud)
我缺少什么?
我必须以依赖顺序的方式顺序执行多个动作.
StepOne(arg1, arg2).execute()
StepTwo(arg1, arg2).execute()
StepThree(arg1, arg2).execute()
StepFour(arg1, arg2).execute()
StepFive(arg1, arg2).execute()
Run Code Online (Sandbox Code Playgroud)
它们都从同一个Step类继承并获得相同的2个args.
class Step:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def execute(self):
raise NotImplementedError('This is an "abstract" method!')
Run Code Online (Sandbox Code Playgroud)
按顺序执行这些操作的最惯用方法是什么?是否有适用于此处的设计模式?
我正在使用 AWS 将COPYS3 存储桶中的文件记录到 Redshift 集群内的表中。每个文件大约有 100MB,我'gziped'还没有。我现在有 600 个论文文件,而且还在增加。我的集群有 2 个dc1.large计算节点和一个领导节点。
问题是,COPY手术时间太大了,至少要40分钟。加快速度的最佳方法是什么?
1)获得更多节点或更好的节点机器?
2)如果我对文件进行 gzip,在COPY操作时间增加方面真的很重要吗?
3) 有一些设计模式在这里有帮助吗?