我正在使用pm2启动我的应用程序,但无法将参数传递给它。我正在使用的命令是pm2 start app.js-dev。尽管这永远有效。
您可以按照此票证所述进行操作:https :
//github.com/Unitech/pm2/issues/13
尽管如果通过环境,则可能需要考虑利用环境变量。使用此工具,您可以创建一个变量,该环境中的任何进程都可以访问该变量process.env.*
。
因此,您有一个配置文件config.json
:
{
"dev": {
"db": {
"hosts":["localhost"],
"database": "api"
},
"redis": {
"hosts": ["localhost"]
}
},
"staging": {
"db": {
"hosts":["1.1.1.1"],
"database": "api"
},
"redis": {
"hosts": ["2.2.2.2"]
}
},
"production": {
"db": {
"hosts":["1.1.1.1", "1.1.1.2", "1.1.1.3"],
"database": "api"
},
"redis": {
"hosts": ["2.2.2.2", "2.2.2.3"]
}
}
}
然后,您导入配置:
var config=require('./config.json')[process.env.NODE_ENV || 'dev'];
db.connect(config.db.hosts, config.db.database);
然后,您将通过shell在您的环境中设置变量:
export NODE_ENV=staging
pm2 start app.js
环境变量将持续到您的会话。因此,您必须在该~/.bashrc
用户的文件中设置它,变量才能持久。这将在每个会话中设置变量。
PM2具有一个部署系统,通过该系统,您可以在每次守护程序之前设置环境变量。这是POSIX系统中守护程序通常采用参数的方式,因为这些参数不会随过程丢失。考虑到您的情况,它可能无关紧要,但它是一种很好的做法。
此外,您应该考虑在本地停止/启动,并在可能的情况下尽可能重新启动(如果处于群集模式),以防止生产中的停机时间。
问题内容: 我正在这样运行我的JavaFX应用程序: 类扩展。在特殊的FX线程中启动JavaFX窗口,但是在我的main方法中,我什至没有类的实例。 如何将非字符串参数(在我的情况下为 控制器 )传递给实例?它是有缺陷的设计吗? 问题答案: 通常,除了传递给您的主程序的程序参数外,无需将参数传递给主应用程序。想要这样做的唯一原因是创建一个可重用的对象。但这并不需要是可重用的,因为这是组装您的应用程
问题内容: 我的应用程序有一个JNLP软件包。现在,我需要将命令行参数传递给我的应用程序。如何扩展我的JNLP文件以列出命令行参数? 例如,我需要说和,并且需要在JNLP文件中提及。 问题答案: 请查看元素说明以获取元素的更多详细信息。 所述元素指示JNLP文件被启动应用(而不是小应用程序)。.. 可以通过包含一个或多个嵌套元素来为应用程序指定参数。 例如:
我有一个JNLP软件包用于我的应用程序。现在我需要将命令行参数传递给我的应用程序。如何扩展JNLP文件以列出命令行参数? 例如,我需要说和和是JNLP文件的一部分。
我正在用Raku做实验,试图弄明白如何用子命令编写程序。当我运行时,: 我得到
问题内容: 我有一个运行自定义gradle任务的Java应用程序,该应用程序在被调用时需要一些参数。这些是: Gradle任务如下所示: 我已尝试运行,但无法正常工作。 问题答案: 从Gradle 4.9开始,可以使用–args传递命令行参数。例如,如果要使用命令行参数启动应用程序,则可以使用 gradle run –args =’foo –bar’ 另请参阅Gradle应用程序插件 如何升级Gr
问题内容: 谁能建议我如何将参数传递给线程? 另外,它如何用于匿名类? 问题答案: 你需要将构造函数中的参数传递给Runnable对象: 然后调用它: