Python PM2

0
11χλμ.

With PM2, rolling restarts, monitoring, checking logs and even deploying application has never been that simple

PM2 is a production-grade process manager that makes management of background process easy. In the Python world we could compare PM2 to Supervisord, but PM2 has some nifty features you might like.

With PM2, rolling restarts, monitoring, checking logs and even deploying application has never been that simple. We really value CLI UX, so PM2 is really simple to use and master.

PM2 has 5 years of history, more than 65 million downloads and has become one of the preferred way to run Node.js in production servers. Checkout the PM2 Github

In this article, you will learn how to use the process manager PM2 to manage Python application, because yes it can also manage Python application efficiently!

INSTALLING PM2

PM2 depends on Node.js. To install Node it’s pretty straightforward:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

To install Node.js on other platforms check Installing Node.js via package manager

GET PM2

Now to install PM2 type:

sudo npm install pm2 -g

To initialize PM2, just type one command:

pm2 ls

You should see a nice ASCII art giving you some of the PM2 key commands:

┌──────────┬────┬─────────┬──────┬─────┬────────┬─────────┬────────┬─────┬─────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
└──────────┴────┴─────────┴──────┴─────┴────────┴─────────┴────────┴─────┴─────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

Now that PM2 has been installed let’s start a Python application.

STARTING A PYTHON APP

Starting an application with PM2 is straightforward. It will auto discover the interpreter to run your application depending on the script extension. This can be configurable via the Ecosystem config file, as I will show you later on this article.

Let’s take this dumbly simple Python app and call it hello.py:

#!/usr/bin/python
import time

while 1:
    print("Start: %s" % time.ctime())
    time.sleep(1)

Now to start it:

pm2 start hello.py

You will then see the process started:

[PM2] Starting /home/florian/playground-python/hello.py in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬──────────┬──────────┐
│ App name │ id │ mode │ pid   │ status │ restart │ uptime │ cpu │ mem      │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼──────────┼──────────┤
│ hello    │ 0  │ fork │ 76055 │ online │ 0       │ 0s     │ 2%  │ 2.8 MB   │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴──────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app
Αναζήτηση
Κατηγορίες
Διαβάζω περισσότερα
Business
Why Is Thought Leadership Important?
In today's competitive professional landscape, being good at what you do is no longer enough. To...
από Dacey Rankins 2025-05-08 16:36:08 0 8χλμ.
Социальные проблемы
Крестный отец. The Godfather. (1972)
Криминальная сага, повествующая о нью-йоркской сицилийской мафиозной семье Корлеоне. Фильм...
από Nikolai Pokryshkin 2022-10-25 11:42:13 0 37χλμ.
Gambling
Victims of gambling. Is gambling for money a vice or entertainment?
Gambling has been around since time immemorial. Craps were played in Babylon, Ancient Egypt and...
από Michael Pokrovski 2024-04-05 00:33:39 0 18χλμ.
Business
Describe a Launch You Worked On—What Went Well? What Would You Change?
Every product marketer or product manager can point to a launch that shaped their career. Product...
από Dacey Rankins 2025-09-16 16:16:34 0 5χλμ.
Социальные проблемы
Доктор Стрейнджлав, или Как я научился не волноваться и полюбил атомную бомбу. Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb. (1964)
Одержимый мыслью, что коммунисты намереваются украсть у американцев их «бесценные телесные...
από Nikolai Pokryshkin 2022-12-24 11:18:45 0 27χλμ.

BigMoney.VIP Powered by Hosting Pokrov