2017-12-04 3 views
0

좋아요, 그래서 트위터 자동화를위한 웹 서비스를 만들려고합니다. 그 전에는 단일 계정에 대해서만 작동하는 봇을 빌드했습니다.노드 JS에서 다중 프로세스 실행

빌드하고자하는 서비스는 사용자가 등록하고 일부 환경 설정을 설정할 수있게합니다 (예 : #LoveProgramming을 트윗하는 사용자).

내 주요 질문은입니다 - 지금 내가 봇을 실행해야 할 경우 그냥 "노드가을 bot.js"및 봇이 실행될 입력합니다. 웹 서비스를 사용할 100 명의 사용자 모두에게 여러 프로세스를 실행하려면 어떻게해야합니까?

+0

수 몇 가지 코드를 제공합니까? – hardy

+0

각 사용자마다 새 프로세스를 시작 하시겠습니까? – TGrif

+0

@TGrif이 작업을 수행하는 다른 방법을 알지 못합니다. – Aditya

답변

0

NodeJs는 프로그램의 여러 프로세스를 시작하는 클러스터링 모듈을 제공합니다.

기본적으로 마스터 프로세스와 작업자 프로세스가 생성됩니다. 해당 문서를 사용할 수 있습니다. here

또한 클러스터링을 지원하고 잘 관리하는 pm2과 같은 프로세스 관리자를 사용하는 것이 좋습니다. 당신은 그것에 대해 읽을 수있다 here. 장치에있는 모든 CPU의/코어의 봇 서버를 시작할 것

pm2 start bot.js -i max 

같은 일을 PM2와

.

+0

pm2는 여러 프로세스를 동시에 실행하는 데 도움이되지만 모든 것을 동적으로 만들고 싶습니다. 사용자가 등록하면 새로운 프로세스가 자동으로 시작됩니다. – Aditya

+0

그런 다음 Nodejs의 클러스터 모듈을 사용해야합니다. 작업자 프로세스를 생성하는 기능을 제공합니다. – Shivam

0

모든 사용자에 대해 프로세스를 실행하면이를 달성 할 수있는 확장 방법이되지 않습니다. async.each을 사용하여 모든 사용자에 대해 동일한 기능을 병렬로 실행할 수 있습니다. 당신은이 같은 PM2 구성 파일에서 클러스터 정보를 지정할 수 있습니다

0

,

파일 : process.yml

apps: - script : <your script name> name : <name of your app> instances: <number of instances you want to run> exec_mode: cluster

다음과 같은 PM2를 시작
pm2 start process.yml

관련 문제