我正在检查由node-heapdump @0.3.14创建的堆快照,该快照在内核为 4.14.123-86.109.amzn1.x86_64 的 Amazon Linux 中的 Node.js 10.16.0 上运行。堆快照是 1GB,好消息是,字符串明显消耗了其中的大部分,使用了 750MB 的浅层和保留大小。
大多数这些字符串都必须由 winston(winston@3.2.1、winston-transport@4.3.0、winston-logsene@2.0.7)记录,日志级别 ( silly) 低于我的应用程序的最低级别 ( debug)。所以,每秒几十次,
winston.loglogLevel silly。silly< debug)。预期:字符串被 GC 处理,生活还在继续。
实际:字符串在内存中累积,未 GC,节点 OOM 为最大堆大小 (1.4GB)。
我正弦确实漏了。我所描述的不是两个普通 GC 之间的名义操作,因为查看快照中字符串的内容,我看到了很多变化,就我的应用而言,这些变化只能来自几个小时的运行。
此外,devtools有时会报告大量的这些字符串大小(23MB的字符串,实际上是1KB),和家丁树是堆积如山,与> 18000级水平的next内部对象的方法message和chunk(见下图)。
所以,我的两个问题是:
next/ message/chunk对象属于哪一种? …javascript memory-leaks node.js google-chrome-devtools winston
我正在使用CouchDB 2.0实例上的Mango查询,通过梦幻般的pouchdb-find.
有几次,我得到了可怕的no matching index found, create an index to optimize query time,即使我警告是使用索引字段.
刚才我在选择"type": {"$in": ["a", "b"]}或等效时得到它"$or": [{"type": "a"}, {"type": "b"}],即使索引type存在.
谷歌搜索(cloudant查询文档,pouchdb-find文档,SO问题)没有帮助,在后者@nlawson说有些谓词($ne在上述问题,但也许我$in/ $or落入同一个篮子?)"目前不使用任何索引".
谢谢!
我正在尝试从外部 node.js 应用程序(即不在 AWS 上)调用 lambda 函数。我使用了 AWS 文档中的代码示例,它适用于名义案例。但是,在出现错误的情况下,我的调用函数永远不会正确处理它。
我的调用代码如下:
// AWS.config before
var pullParams = {
FunctionName : 'myFunctionName',
InvocationType : 'RequestResponse',
LogType : 'None',
Payload : JSON.stringify({
"myParam" : params
})
};
var lambda = new AWS.Lambda();
lambda.invoke(pullParams, function(error, data) {
console.log("error value: " + error);
if (error) {
console.log("Error invoking AWS " + error);
// process error
} else {
// process payload
}
});Run Code Online (Sandbox Code Playgroud)
在我的 lambda 函数中,如果没有提供参数,我会引发错误并提供错误消息
exports.handler = (event, context, callback) => {
var params …Run Code Online (Sandbox Code Playgroud)这是vscode 问题 #16320的后续,vscode dev Matt Bierner 建议我在这里问。
VS Code 的最新版本...
jsconfig.json配置)webpack 别名,这是一个 webpack 特性,为更友好的导入启用导入行的前缀(请参阅vscode 文档以获取 Webpack 别名)。例如,别名/src/apito*会让我输入import foo from */users而不是import foo from ../../../../src/api/users.但在某些用例中,它们一起失败。我为我的用例构建了一个最小的损坏测试项目(zip,3kB)。任何人都可以看看它,看看我是否做错了什么,或者它看起来像一个错误吗?
解压缩 zip 并查看README.md:路径自动完成有效,但不能“查看”或“转到定义”。
npm install && npm run build && node dist/index.js
? install & build 都成功了,说明 Webpack 很开心。运行日志[1, 2, 3]。code /path/to/project并打开src/index.js
On …事先,我的问题类似于App Engine上的金字塔问题"InvalidResponseError:标题值必须是str,得到'unicode',以及几个google-api-python-client错误,但在我的情况下没有任何帮助.而且,我没有回答问题#254(它本身看起来类似于#111,所以我在这里尝试.
在本地GAE上,下面的简单示例(此示例的简化&python27-ified版本)返回InvalidResponseError: header values must be str, got 'unicode',但我的代码没有执行任何unicode标头设置.更准确地说,我期待结果Hello,而我有:
Internal Server Error
The server has either erred or is incapable of performing the requested operation.
Traceback (most recent call last):
File "/home/ronj/.gae/lib/webapp2-2.5.2/webapp2.py", line 1546, in __call__
return response(environ, start_response)
File "/home/ronj/.gae/lib/webob_0_9/webob/__init__.py", line 2000, in __call__
start_response(self.status, self.headerlist)
File "/home/ronj/.gae/google/appengine/runtime/wsgi.py", line 156, in _StartResponse
(_GetTypeName(value), value, name))
InvalidResponseError: header values must be …Run Code Online (Sandbox Code Playgroud) 这篇文章是如何在GAE任务队列中执行OAuth要求操作的后续内容?.正如bossylobster在这篇文章中所建议的,我确实尝试user_id在我的脚本中进行硬编码,但是cron任务总是失败:
我可以看到它在日志中被触发......
2013-05-31 14:20:00.879 /update 302 5ms 0kb AppEngine-Google; (+http://code.google.com/appengine)
0.1.0.1 - - [31/May/2013:11:20:00 -0700] "GET /update HTTP/1.1" 302 385 - "AppEngine-Google; (+http://code.google.com/appengine)" "myapp.appspot.com" ms=6 cpu_ms=0 cpm_usd=0.000043 queue_name=__cron task_name=... app_engine_release=1.8.0 instance=...
Run Code Online (Sandbox Code Playgroud)我不明白的是,如果我/update手动打开,我有下面的登录提示.cron如何绕过那个?我该如何调试正在进行的操作?

谢谢您的帮助.
在@dlebech答案编辑/后随:问题添加后仍继续login: admin行有关url在app.yaml.在本地(通过以管理员身份登录并访问您的浏览器中的处理程序的URL,如安全URL for Cron所述)一切顺利,但一旦部署,我的应用程序永远不会超过OAuth2装饰器:
有几个调试print语句......
import webapp2
...
YOUTUBE_RW_SCOPE = "https://www.googleapis.com/auth/youtube"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = …Run Code Online (Sandbox Code Playgroud)python cron google-app-engine google-api google-api-python-client
这篇文章是如何在GAE/Python上进行'access_type = offline'/仅服务器OAuth2操作的后续内容.http = credentials.authorize(httplib2.Http())测试时该部件不再失败,但似乎它仍然由GAE的cron运行,它无法刷新我的access_token:
/fetch,比如说在11:45./cronfetch在11:55工作,然后没有任何access_token问题.但是,我今天早上醒来看到同样的 /cronfetch任务(除了时间,即我的非测试日常任务的01:00时)失败了:
I 2013-06-10 05:53:51.324 make: Got type <class 'google.appengine.api.datastore_types.Blob'>
I 2013-06-10 05:53:51.325 validate: Got type <class 'oauth2client.client.OAuth2Credentials'>
I 2013-06-10 05:53:51.327 URL being requested: https://www.googleapis.com/youtube/v3/playlists?alt=json&part=snippet%2Cstatus
I 2013-06-10 05:53:51.397 Refreshing due to a 401
I 2013-06-10 05:53:51.420 make: Got type <class 'google.appengine.api.datastore_types.Blob'>
I 2013-06-10 05:53:51.421 validate: Got type <class 'oauth2client.client.OAuth2Credentials'>
I 2013-06-10 05:53:51.421 Refreshing access_token
I 2013-06-10 05:53:51.458 Failed …Run Code Online (Sandbox Code Playgroud)python google-app-engine google-api oauth-2.0 google-api-python-client
我正在开始一个新的React应用程序,并且看到生态系统中的所有新闻,我想慢慢地实际考虑我的选择,从React/Webpack/Babel开始,并引入更多.
这些选择中的第一个是否使用Flux(更确切地说,Redux,它看起来很棒并且似乎赢得了助威战争).我就是这样的地方:
为了解决这个问题而不引入新的依赖关系,我发现两篇文章(1:Andrew Farmer,2:Hao Chuan)鼓励使用最近引入的React上下文特性.
→使用context将让我将模型变异回调暴露给我的子组件.对我而言,这听起来不像是一个可怕的误用:我不会传递模型数据,只是引用用于绑定事件处理程序的函数.
谢谢.
这是一个可克隆项目,其中包含我的问题的最少代码:GitHub / ronjouch / demo-ts-project-references。
\n在此项目中,我正在设置一个基于TS Project References的项目,以便子项目app依赖于复合子项目lib。
通过这个设置,在内部app/index.js,我能够
import { LETTER_A } from \'../lib\';\nRun Code Online (Sandbox Code Playgroud)\n有了这个设置,好消息,
\nnpm run compile(调用tsc -b lib app)成功构建。npm start(调用node dist/app/index.js)成功运行。现在,我注意到(感谢 VSCode)如果我lib使用非相对导入进行导入,TSC 也会很高兴:
import { LETTER_A } from \'lib\';\n// no "../" here ^\nRun Code Online (Sandbox Code Playgroud)\n,我更喜欢并且想要,因为在真正的应用程序中,从深度嵌套的文件中进行这样的导入是非常方便的,而不是
\nimport { LETTER_A } from \'../../../../lib\';\n// AAaaaAaAAaaargh :( ^^^^^^^^^^^^\n …Run Code Online (Sandbox Code Playgroud) 这篇文章是如何在GAE cron工作中执行OAuth要求操作的后续内容?,我意识到我错误地使用了@oauth_required装饰器OAuth2DecoratorFromClientSecrets.
正如OAuth 2.0解释的演示文稿所述,Oauth 2.0解决了以下问题:
这就是@oauth_required摘要,它做得很好(目前我的应用程序"有效":如果我触发刷新页面,我会被要求授权访问我的YouTube数据到我的应用程序,其余部分如下).但那不是我想要的!我的应用程序做了一些更简单的事情,即每天使用我的凭据创建一个youtube播放列表,无需任何用户输入.因此,为了与上述3层联想进行比较,我希望:
但我仍然需要帮助才能做到这一点; 这是我目前的状态:
经过几次搜索后,我了解到我想要做的就是称为离线访问(强调我的,这几乎就是我的用例):
"在某些情况下,当用户不在时,您的应用程序可能需要访问Google API.这方面的例子包括备份服务和应用程序,这些应用程序在周一早上8点正好发布博客帖子.这种访问方式称为脱机,Web服务器应用程序可以请求用户进行脱机访问.正常和默认的访问方式称为在线. " ...
→所以我应该继续做我现在正在做的事情,继续请求访问我的YouTube帐户,但是使用type_access=offline标志来获取令牌,并持续/使用它来进行后续请求.
该脱机访问和 使用刷新令牌部分使总感觉,但停留在一般的HTTP水平.作为一个新手,我不知道如何将这些原则集成到我的Python代码中,我没有找到任何示例Python代码....
→任何人都可以帮我一个Python示例说明如何以及在何处使用这面旗帜?
...特别是在学习之后oauth2client.appengine.OAuth2Decorator.oauth_required,我仍然不确定我是否可以将它弯曲到我的情况,或者我是否应该做自己的事情.
→你怎么看?
谢谢你的时间; 如果需要我也会在irc://irc.freenode.net/#appengine上闲逛ronj.
python google-app-engine google-api oauth-2.0 google-api-python-client
我有一个简单的Google App Engine应用程序,其中包含一个/update更新YouTube播放列表的页面.它看起来像这样:
class UpdatePage(webapp2.RequestHandler):
@decorator.oauth_required
def get(self):
update_result = self.update_playlist()
...
routes = [('/update', UpdatePage),
(decorator.callback_path, decorator.callback_handler())]
app = webapp2.WSGIApplication(routes, debug=True)
Run Code Online (Sandbox Code Playgroud)
它按预期update_playlist()工作,该方法完成其工作,但事实证明,在某些情况下,它可以运行很长一段时间,导致一个DeadlineExceededError.所以在阅读了可用的选项之后,我认为Task Queue API是要走的路(对吗?),我正在尝试使用它,遵循Python中的使用推送队列指南.
→简而言之,我分成UpdatePage了UpdatePageHandler+ UpdatePageWorker:
class UpdateHandlerPage(webapp2.RequestHandler):
@decorator.oauth_required
def get(self):
taskqueue.add(url='/updateworker')
class UpdateWorkerPage(webapp2.RequestHandler):
def post(self):
update_result = self.update_playlist()
...
routes = [('/update', UpdateHandlerPage),
('/updateworker', UpdateWorkerPage),
(decorator.callback_path, decorator.callback_handler())]
app = webapp2.WSGIApplication(routes, debug=True)
Run Code Online (Sandbox Code Playgroud)
不幸的是,在进行拆分后,我的OAuth2装饰器似乎不再起作用了:
INFO 2013-05-30 17:08:53,971 discovery.py:709] URL being requested: https://www.googleapis.com/youtube/v3/playlists?alt=json&part=snippet%2Cstatus
WARNING 2013-05-30 …Run Code Online (Sandbox Code Playgroud) python google-app-engine google-api task-queue google-api-python-client
python ×5
google-api ×4
javascript ×3
oauth-2.0 ×3
node.js ×2
cloudant ×1
couchdb ×1
cron ×1
flux ×1
lambda ×1
memory-leaks ×1
pouchdb ×1
reactjs ×1
reactjs-flux ×1
redux ×1
task-queue ×1
typescript ×1
webpack ×1
winston ×1