Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "pm2"
-
So pm2 (a node process manager package on npm) just caused thousands of CI builds to fail because of an "optionalDependency" on a package called gkt which is requested as a tarball from a server that was returning 503. That package consists of one file which contains this16
-
Ooof.
In a meeting with my client today, about issues with their staging and production environments.
They pull in the lead dev working on the project. He's a 🤡 who freelanced for my previous company where I was CTO.
I fired him for being plain bad.
Today he doesn't recognize me and proceeds to patronize me in server administration...
The same 🤡 that checks production secrets into git, builds projects directly in the production vm.
Buckle up... Deploys *both* staging and production to the *same* vm...
Doesn't even assign a static IP to the VM and is puzzled when its IP has changed after a relaunch...
Stores long term aws credentials instead of using instance roles.
Claims there are "memory leaks", in a js project. (There may be memory misuse by project or its dependencies, an actual memory leak in v8 that somehow only he finds...? Don't think so.)
Didn't even set up pm2 in systemd so his services didn't even relaunch after a reboot...
You know, I'm keeping my mouth shut and make the clown work all weekend to fix his own hubris.9 -
PM1 : "we need to implement this feature"
After days of development.
Testing time
PM2 : "My recommendation is that we don't need this feature"
:/1 -
How my day went.
Project Manager: We need deliverable X.
Me: That's not listed.
PM: But we need it. Other PM says what you provided isn't enough.
Me: Too bad. I was not told to deliver it.
PM2: We need deliverable X.
Me: Look at the requirements. It is not there. I'm not providing it.
PM2: We need it. Let me ask PM3.
PM3: We need deliverable X.
Me: No. It's not listed. And here's why it's not even applicable.
PM3: Oh....ok4 -
Set up an Ubuntu AWS ec2 instance running nodejs reverse proxied by nginx, kept running by pm2 and SSL provisioned by certbot.
I know that sounds like nothing but buzzwords but it really felt awesome to get a little node app stack sorted out!4 -
> Mister BossDeveloper, I'm calling this method called "consoleLogger" and I'm not seeing anything in console, why is that happening?
> Mister IHateForALiving, it's redirected to some pm2.log file
The 180iq move: create a method, explicitly call it "PRINT TO CONSOLE" and make sure it doesn't print to console, ever.4 -
So we have this fucking project that came straight out o Satan's anus managed by 3 fucking PMs that each of them seem to be on a different drug and none of them seem to talk to each other despite the fact that they don't shut the fuck up on meetings.
They end up asking for conflicting changes every fucking time... Like:
PM1: change this to red
PM2: change this ( same thing ) to blue
PM3: should be green
Every day I stray further away from sanity. Maybe I'll be the 4th PM in some months by this rate of craziness my mind is diving into. -
Hmm. I've been wondering how I'll deploy an api based on a microservice style the smartest way... The general plan was to use salt to setup the base server and install dependencies and add the configuration.. Doing updates would be a git pull and pm2 restart api. I would love to know how you deploy your software ?1
-
PM2 is one of these tools that just works. (and I'm not even using to run the interpreter it's supposed to be used with.)
pm2 + rails = <31 -
Has anyone here used pm2 module of nodejs? For what purpose did you use it? like I wanted to know it's utility2
-
I'm migrating a node app from rh6 to 7, initd to systemd...
Init.d runs start.sh which then spawns calls pm2 with the args. The problem though seems to be (I set the service to be forking otherwise it doesn't let it or kills the child threads?) But then there service then says it fails since I guess the script exited by itself...
And therefore the stop didn't work either?
I just need a service that acts as a link? To the actual start stop scripts and just run them? Without killing the could orocesses7 -
So here is a mini rant from an amateur/hobbyist developer (me).
Over the past week, I've taken on a project that is much larger than any other projects i've attempted to handle (steam trading bot). This meant that there would be logic flaws, weird bugs due to unexpected behavior from shitty web apis (and their poor documentation hmmmm).
Anyhow, fast forward a few days and the code is complete. It's mostly functional, apart from a few glitches and unexpected behavior here and there...or so i thought. Apparently if someone trades and item to me that isnt in my pricegrid, the bot freaks out and kills itself, relaunches, and repeats this cycle (pm2). And i only found out about this on my way to school
So in desperation to fix such a critical flaw in my code (if my bot breaks a lot and doesnt accept trades, i can get banned from backpack.tf), i bust out my only device which is my phone, and start editing away (JuiceSSH and turbo client is godsend ty). 30 minutes later, after toiling through code with no indentation or syntax highlights (mobile pls), ive fixed it. So i push to live and alls well.
Then I arrive at school, pull out my laptop and decided to check up on my code to see if anything needs fixing.
Oh look in one line i used '||' instead of '&&'.
ok lets fix it.
ok lets push to live again.
I launched WinSCP to move the files onto the server, and just as the loading bar finishes and the file is overwritten, i realized; FUCK the code i had on my laptop wasnt the latest version i just worked on on my phone.
So that's that. 30 minutes of typing code without indentation and syntax highlighting on a 5 inch screen and it's all gone.
TLDR:
Version control is a must. -
For a Node API is there a difference between starting cluster mode using a PM2 vs calling cluster.fork() inside the first instance?
I have some apps that create the cluster internally and others via PM2 but I don't know why or why it makes a difference... Other than the cluster processes not showing up in pm2 list1