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

标签 javascript linux node.js

我主要使用 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/

相关文章:

c# - 如何从 c# 应用程序获取远程 linux 机器的 cpu 和 ram 使用情况

node.js - 如何将请求 header 传递给 graphql 解析器

node.js - AD 授权组更改未反射(reflect)

javascript - jQuery 到纯 JavaScript

javascript - 根据第一个和最后一个将字符串拆分为数组

javascript - 使用 fs.readFileSync 和 eval 内容读取文件...哪个范围具有这些功能?如何访问?

javascript - WordPress 插件 : how do you pass parameters to be used as attributes in a javascrtipt tag?

c - 如何向标准信号处理程序添加代码?

c - 获取 linux/bin/ss 工具的源代码

javascript - 为什么发送到 Node/Express 服务器的 XMLHttpRequest 中的对象是空的?