【发布时间】:2015-01-05 15:25:10
【问题描述】:
这是我搜索 Npm 包的方法,但它会导致 Heroku 超时或超出内存限制,所以我希望有人知道更智能的解决方案。
npm = require 'npm'
packageCache = null
module.exports = class Npm
@search: (searchTerms, callback) ->
if packageCache?
return callback null, packageCache
npm.load ->
npm.commands.search searchTerms, true, (err, results) ->
return callback err if err?
packageCache = results
callback null, results
为什么 npmjs.org 没有 API 让我感到困惑。
【问题讨论】:
-
在 heroku 上,对 dynos 的 Web 请求有 30 秒的超时。如果你想做这样一个长时间运行的任务,你需要创建一个后台作业。每个 Heroku 平台都有具体示例,并在此处讨论该过程:devcenter.heroku.com/articles/background-jobs-queueing
-
是的,但我仍然会耗尽内存。
-
啊,我明白了。一个月前有一期 Javascript Jabber 讨论了 npm 2.0 的改进。我不记得 API 即将出现,但是嘿,它是开源的,我相信他们会喜欢有人来构建它。 :)
-
社区中似乎正在酝酿一些事情。我不明白为什么每个人都需要下载所有包。
标签: node.js heroku coffeescript npm