2016-06-21 12 views
2

私はこの回答hereに従ってきました。それは動作しますが、私のアプリを呼び出すときに何も起こりません。後ノードJsを持つHerokuスケジューラ

#! /app/.heroku/node/bin/node 
function mytask() { 
    start(); 
} 
initScrape(); 
process.exit(); 

heroku run init mytask

λ heroku run init_scrape         
Running mytask on dyno1... up, run.5157 
/app/bin/mytask:3         
    start();            
^              

ReferenceError: start is not defined      
    at mytask (/app/bin/mytask:3:3)    
    at Object.<anonymous> (/app/bin/mytask:5:1)  
    at Module._compile (module.js:413:34)     
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32)      
    at Function.Module._load (module.js:314:12)   
    at Function.Module.runMain (module.js:447:10)   
    at startup (node.js:148:18)       
    at node.js:405:3          

答えて

2

私はapp.jsで私の主な機能は、これは私が私が呼ぶとき、それは動作します知っているビンに保存されている私の仕事である

function start() { ... } 

と呼ばれています定義された場所から開始する必要があり、スクリプトで start()が定義されているファイルを要求する必要があります。そうでなければ、どこでそれを見つけるかをどのように知るでしょうか?

おそらく、あなたのapp.jsを変更し、module.exports = startと言う必要があります。次にmytaskファイルでこれを行います:

#! /app/.heroku/node/bin/node 
var start = require('./app.js'); 
function mytask() { 
    start(); 
} 
initScrape(); 
process.exit(); 
関連する問題