gpt4 book ai didi

javascript - 我如何找到称为 node.js 脚本的进程?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:48 26 4
gpt4 key购买 nike

我主要使用 asp.net/C#/SQL 应用程序,但已经获得了我需要支持的 node.js/MongoDB 应用程序。客户失去了最初的开发人员,我正试图解决他们遇到的问题。目前我正在尝试找到一个“进程”,它每 60 秒运行一次并检查/更新数据库。我找到了执行检查/更新的脚本,但我不知道它是从哪里调用的,也不知道传递给它的变量是如何填充的。谁能帮我看看这个“过程”是如何运作的?

所以有一个名为 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
}

最佳答案

这是一个 background job对于为 ActionHero 实现的作业队列

您的文件 creates tasks .

来自文档:

  • api:actionhero api 对象
  • params:一组参数任务已排队。这是第二次通过的任何内容api.tasks.enqueue 的参数
  • next:任务执行时调用的回调已经完成了。此回调的类型为 function(error, result)。传递错误对象将导致作业被标记为失败。结果目前未在任何地方捕获。

关于javascript - 我如何找到称为 node.js 脚本的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com