2016-05-09 7 views
1

私は主にasp.net/C#/ SQLアプリケーションで作業しますが、サポートが必要なnode.js/MongoDBアプリケーションが渡されています。クライアントは元の開発者を失ってしまいましたが、私は問題を解決しようとしています。現在、私は60秒ごとにデータベースを実行してチェック/更新を行う「プロセス」を見つけようとしています。私は、チェック/更新を行うスクリプトを見つけましたが、どこから呼び出されたのか、それに渡された変数がどのように読み込まれるのか分かりません。この「プロセス」がどのように機能するかを誰かが助けてくれますか?node.jsスクリプトと呼ばれるプロセスはどのようにして見つけられますか?

したがって、データベースに読み書きするeoaBatch.jsというスクリプトがあります。 apiというオブジェクトが渡されているようです。どのように人が集まっているか知る必要があるのは、そのapiオブジェクトです。それは現在の問題のようです。ここでeoaBatch.jsのコードの一部です:

exports.task = { 

name: 'eoaBatch', 
description: 'End of Batch Processor', 

queue: 'eoa', 

plugins: [], 
pluginOptions: [], 

frequency: 60 * 1000, // 1 minute 

run: function (api, params, next) { 

var Auction = mongoose.model('auctions'); 
var eoaBatch = mongoose.model('eoaBatches'); 
var eoaProperty = mongoose.model('eoaProperties'); 
var eoaBid = mongoose.model('eoaBids'); 
var Property = mongoose.model('properties'); 
var SubAccounts = mongoose.model('subaccounts'); 
var eoaAuction = mongoose.model('eoaAuctions'); 

async.eachSeries(
    api.batches, 
    function forEachBatch(batchInfo, callback) { 
  • 私は/開始を呼び出すかを見つけるにはどうすればよいです/このスクリプトが実行されますか?
  • apiオブジェクトに含まれるものを見つけるにはどうすればよいですか?

編集:ここでは

がpackage.jsonです。私はPROJで、プロジェクト名を置き換え、他の識別情報を削除:

{ 
    "name": "PROJ-api", 
    "version": "1.8.0", 
    "description": "PROJ", 
    "keywords": [ 
    "PROJ" 
    ], 
    "homepage": "https://www.PROJ.com", 
    "bugs": { 
    "email": "" 
    }, 
    "license": "UNLICENSED", 
    "author": "", 
    "contributors": [ 
    ], 
    "repository": "/PROJ-api", 
    "scripts": { 
    "start": "node ./node_modules/.bin/actionhero start", 
    "ci-test": "istanbul cover _mocha > test.tap && istanbul report clover", 
    "ci-lint": "eslint -f checkstyle . > checkstyle-result.xml; true" 
    }, 
    "dependencies": { 
    "accounting": "^0.4.1", 
    "actionhero": "^12.3.0", 
    "async": "^1.5.0", 
    "dateformat": "^1.0.12", 
    "grunt": "^0.4.5", 
    "kerberos": "0.0.17", 
    "lodash": "^3.10.1", 
    "mandrill-api": "^1.0.45", 
    "mongoose": "^4.2.9", 
    "mongoose-datatable": "^1.0.6", 
    "node-uuid": "^1.4.7", 
    "redis": "^2.4.2", 
    "tv4": "^1.2.7", 
    "validator": "^4.3.0", 
    "ws": "^0.8.1" 
    }, 
    "devDependencies": { 
    "babel-eslint": "^5.0.0-beta4", 
    "babel-preset-airbnb": "^1.0.1", 
    "eslint": "^1.10.3", 
    "eslint-config-airbnb": "^1.0.2", 
    "eslint-plugin-react": "^3.11.2", 
    "istanbul": "^0.4.1", 
    "mocha": "^2.3.4", 
    "should": "latest" 
    }, 
    "engines": { 
    "node": ">=4.2.0" 
    }, 
    "os": [ 
    "darwin", 
    "linux" 
    ], 
    "private": true 
} 
+0

nodejsアプリケーション用のデバッガがあります。これはNodeInspectorと呼ばれます。 apiオブジェクトを受け取る関数にブレークポイントを設定し、呼び出しスタックを調べて、呼び出しスタックを調べて、apiオブジェクトを調べることができます。 – PeterO

+0

package.jsonファイルも表示できますか? –

+0

mh-cbon package.jsonを追加しました。 – boilers222

答えて

0

これはActionHero

あなたのファイルcreates tasksのために実装ジョブキューのためbackground jobです。ドキュメントから

  • api:actionheroのAPIオブジェクト
  • params:タスクがでエンキューされた パラメータの配列。これは、第二の 引数としてapi.tasks.enqueueに渡されたものです。
  • next:タスク が完了したときにコールバックするコールバックです。このコールバックはfunction(error、result)型です。 エラーオブジェクトを渡すと、ジョブはエラーとしてマークされます。 結果は現在どこにもキャプチャされていません。
関連する問題