2014-11-09 82 views
0

下面是我如何搜索Npm包,但它導致Heroku超時或超出內存限制,所以我希望有人知道更聰明的解決方案。通過節點搜索npm包

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。

+0

在heroku上,對於dynos的web請求有30秒的超時時間。如果你想做這樣的長時間運行的任務,你需要創建一個後臺作業。每個heroku平臺都有具體的例子,並在這裏討論這個過程:https://devcenter.heroku.com/articles/background-jobs-queueing – 2014-11-10 12:05:46

+0

是的,但我仍然會用完內存。 – webjay 2014-11-11 03:17:00

+0

啊,我明白了。一個月前有一個Javascript Jabber插曲談到npm 2.0的改進。我不記得一個API即將出現,但嘿,它是開源的,我相信他們會喜歡某個人來構建它。 :) – 2014-11-11 11:49:23

回答