Javascript PM2开始创建奇怪的文件
我创建了一个简单的“机器人”,用于将rss提要解析为一些trello卡 我正在使用pm2启动和维护bot.js 出于某种奇怪的原因,cliframework创建了一些奇怪的文件 为了让情况尽可能清楚:Javascript PM2开始创建奇怪的文件,javascript,node.js,pm2,Javascript,Node.js,Pm2,我创建了一个简单的“机器人”,用于将rss提要解析为一些trello卡 我正在使用pm2启动和维护bot.js 出于某种奇怪的原因,cliframework创建了一些奇怪的文件 为了让情况尽可能清楚: pm2 list 返回 ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ rest
pm2 list
返回
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ bot │ 0 │ fork │ 25084 │ online │ 0 │ 3m │ 0% │ 67.7 MB │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘
有时如果我使用
ls
命令正在返回
bot.js node_modules
有时它会返回1+多个像这样的空文件
b0d3e000-bca5-11e6-b57b-fff3b35ba082 b0d3e001-bca5-11e6-b57b-fff3b35ba082
bot.js node_modules
文件在几秒钟后被删除,几秒钟后被创建为不同的名称
主要问题是:
当我不在时,这个机器人运行了3周,在重启计数器上有一个3127(为什么这么多…idk),但每次重启都会留下这样一个文件。。我不得不删除3127个文件。。只是因为pm2正在创建一些奇怪的文件
还有其他类似的问题吗。。或者你知道一个可能的解决方法或解释
编辑:我刚刚意识到这些文件不是通过重新启动创建的。。因为它们现在没有重新启动计数器>0
为了确保安全,代码已被分解:
var feed=require('feed-read');
var http=require('http');
var async=require('async');
var请求=要求(“请求”);
var utf8=需要('utf8');
var sprintf=require('sprintf-js')。sprintf;
var canable\u TO\u CONNECT=“无法连接。”;
var CURFEED=“”;
var PUBDATE=新数组();
var FEEDS=新数组();
提要[“测试”]=“http://lorem-rss.herokuapp.com/feed?unit=second&interval=4"; //测试
var LISTID=新数组();
LISTID[“TEST”]=“trellou列”;
var Trello=需要(“节点Trello”);
var t=新的Trello(“,”);
(功能(){
var timeout=setInterval(函数(){
async.parallel([函数(回调)){
CURFEED=“测试”;
feedMe(CURFEED);
//TODO:在哪里调用callback()?
}],功能完成(错误,结果){
控制台日志(“完成”);
如果(错误){
犯错误;
}
});
}, 1000);
})();
函数feedMe(feedName){
if(FEEDS[feedName]==“”| | FEEDS[feedName]==未定义){
返回;
}
提要(提要[提要名称],“ISO-8859-16”,函数(错误,文章){
//log(“---------------------------”+FEEDS[feedName]);
如果(错误){
//html.push(“”,无法连接=“”;
console.log(无法连接);
}否则{
var=false;
var newArticle=newarray();
articles.forEach(功能(条目){
var merkDate=新日期(条目.已发布);
var oldDate=新日期(PUBDATE[feedName]);
if(PUBDATE[feedName]==“”| | PUBDATE[feedName]==未定义){
PUBDATE[feedName]=merkDate;
}
if(oldDate.getTime()0){
对于(var i=newArticle.length-1;i>=0;i--){
var分录=新条款[i];
log(sprintf(“-----------------------------------------------------------------------”);
log(sprintf(“>%1$s%2$s:%3$s”,“新RSS条目”,“检测到”,“检查”));
log(sprintf(“--%1$s%2$s:%3$s”,“条目名称”,“条目.标题”);
log(sprintf(“----1$s%2$s:%3$s”,“Link Name”,“entry.Link”);
log(sprintf(“--%1$s%2$s:%3$s”,“创建日期”,“entry.published”);
log(sprintf(“----%1$s%2$s:%3$s”,“状态”,“创建Trello卡”);
t、 post(“/1/lists/”+LISTID[feedName]+“/cards”,{name:entry.title,desc:entry.link},函数(err,data){
t、 put(“/1/cards/”+data.id+“/pos”,{value:0},函数(err,data){
});
});
log(sprintf(“----%1$s%2$s:%3$s”,“状态”,“完全创建的Trello卡”);
log(sprintf(“>%1$s%2$s:%3$s”,“新RSS条目”,“检测到”,“关闭”));
}
}
如果(更新==true){
PUBDATE[feedName]=新日期();
}
}
});
}
好的,我调查了文件,现在找到了解决方案。
不要再使用require('feed-read')
这看起来像是创建文件对其进行编码,然后将其流式传输
主要问题如下:
- Rss提要的语法错误
- 服务器不可用
- 服务器返回一个数据库错误或什么的
如果有任何问题或错误,只需使用请求并自己解析即可。在配置pm2 it set临时文件时可能会出现问题或错误??我不知道此配置应在何处。。。纪录片中没有提到这些文件。您可以添加使用pm2启动bot.js的命令吗?只是一个简单的
pm2启动bot.js