【发布时间】:2020-08-17 14:34:09
【问题描述】:
所以我发现了关于 pm2 (pm2.keymetrics.io/) 的新问题 - 所以我一直在试图弄清楚为什么我的脚本不能与 pm2 一起使用
(我所说的 pm2 的意思是,每当您使用 multiprocessing 运行时,它都会创建一个 python.exe 并将其与 PM2 Dashbord 分开打开,就像这里的图片一样 )
所以问题是我怎样才能使它适用于 Pm2 仪表板。
我为那些想用 pm2 测试它的人制作了一个快速的小脚本。
import multiprocessing, time, os, sys, threading
from utils import Logger
Checker = ['Helloworld']
logger = Logger() # Logger from Utils
def test(findings):
while True:
logger.log("ping")
time.sleep(1)
def main():
try:
jobs = []
for finding in Checker:
p = multiprocessing.Process(target=test, args=(finding ,))
jobs.append(p)
p.start()
except KeyboardInterrupt:
print('Keyboard - Interrupted')
sys.exit()
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
print('Keyboard - Interrupted')
sys.exit()
【问题讨论】:
-
能否请您添加您在 shell 中确切运行的命令
-
@BraveButter 我只是写了
pm2 start test.py- 我确实意识到如果我删除 multiprocessing.Process - 它确实会写入全局日志,但是一旦它在代码中,它就会打开 python.exe 文件并穿过那里 -
@Hellosiroverthere 你解决了吗?我还试图让一个使用多处理库的 PM2 运行 python 服务。在没有任何额外配置的情况下,它在 PM2 中以“集群”模式启动,但没有分配 PID。