所以,我使用的是过滤流。不幸的是,每次我打开它,5分钟后它就会关闭,但在这段时间里,它会捕捉推文。我想做的是保持24/7,这样5分钟后就不会关机。此外,如果它断开连接,我希望如此,它会再次尝试连接。
这是我用来帮助调整代码的代码示例:
function streamTweets(retryAttempt) {
const stream = needle.get(streamURL, {
headers: {
Authorization: `Bearer ${TOKEN}`
},
retryAttempt: 20000
});
stream.on('data', (data) => {
try {
const json = JSON.parse(data)
console.log(json.data.text)
retryAttempt = 0;
} catch (e) {
if (data.detail === "This stream is currently at the maximum allowed connection limit.") {
console.log(data.detail)
process.exit(1)
} else {
// Keep alive signal received. Do nothing.
}
}
}).on('err', error => {
if (error.code !== 'ECONNRESET') {
console.log(error.code);
process.exit(1);
} else {
// This reconnection logic will attempt to reconnect when a disconnection is detected.
// To avoid rate limits, this logic implements exponential backoff, so the wait time
// will increase if the client cannot reconnect to the stream.
setTimeout(() => {
console.warn("A connection error occurred. Reconnecting...")
streamTweets(++retryAttempt);
}, 2 ** retryAttempt)
}
});
return stream;
}
(async() => {
let currentRules;
try {
//get all stream rules
currentRules = await getRules();
//delete all stream rules
await deleteRules(currentRules);
//Set rules based on array above
await setRules();
} catch (e) {
console.error(e);
process.exit(1);
}
streamTweets(0);
})();
你试过在你的页眉中发送保留生命吗?
此外,我还更改了授权标头,以匹配链接的GitHub代码源的语法。
function streamTweets(retryAttempt) {
const stream = needle.get(streamURL, {
headers: {
"authorization": `Bearer ${token}`,
"Connection": "keep-alive"
},
retryAttempt: 20000
});
此外,根据Twitter文档:“如果你想关闭连接,你可以在Mac或Windows系统上的命令行工具中按Control-C来断开连接,也可以关闭窗口。”
您确定这不是因为您关闭了终端会话而断开连接,还是因为ssh超时之类的原因而关闭?
问题内容: 我刚开始使用Python。当我在Windows上执行python脚本文件时,出现输出窗口,但立即消失。我需要它留在那里,以便我可以分析我的输出。如何保持打开状态? 问题答案: 你有几种选择: 从已经打开的终端运行程序。打开命令提示符并键入: 为此,你需要在路径中使用python可执行文件。只需检查如何在Windows 上编辑环境变量,然后添加(或安装python的任何目录)即可。 程序
只是无法计算方法中的return语句。
我知道,一旦集合的流操作为forEach-min-collect-code,该流即关闭,不再适用于进一步的函数调用。 我的问题是,如何避免“重复流操作”,以便我们可以在同一个集合上执行不同的流操作,而不需要重复计算? 例如。 好吧,我知道为了得到s1。max我必须再次构建流,如下所示: 这是可行的,但似乎是第二次做多余的工作。我希望我们可以使用这个调用序列,并使其只执行一次: 然后:(1)进行fo
我的设置是cloudflare- 这是nginx为websocket连接记录的内容:162.158。75.125--[29/Oct/2016:00:01:47 0000]“GET/HTTP/1.1”101 1047-“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/53.0.2785.143 Safari/53
想通过坐标的形式标记点,但是断了的地方不要自动连接点,比如Mon和Wed不应该连接起来,因为Tue没有对应值 使用了connectNulls设置为false也不可以 不知道有没有什么设置可以达到这样的效果,还是必须手动补充null值 因为实际情况下横坐标是以秒为单位的时间戳,每一秒对应一个数据值,如果手动补充null值,效率有点低
问题内容: 我正在使用POST方法。我需要创建一次,并且应该使用Keep Alive Connection。但是我认为,它每次都会建立一个新的连接。 因此,我需要使用 保持活动 连接。 这是我的代码段,很多帮助将不胜感激。 而且logcat日志是: 问题答案: 10:07:29.746:D / org.apache.http.headers(1529):>>连接:保持活动 您正在要求保持活动状态。