The Community site is having Internal Server errors

make sure your process tree looks like this:

web@l5y3bwtmg7vtrzj2by2gxqcsta:~$ ps axf
   PID TTY      STAT   TIME COMMAND
 31068 ?        Ss     0:00 /bin/bash
 31074 ?        S      0:00  \_ su - web
 31075 ?        S      0:00      \_ -su
 31254 ?        R+     0:00          \_ ps axf
     1 ?        Ss+    0:08 init [2]
   100 ?        Ss     0:10 runsvdir -P /etc/service log: ..................................................................................
   106 ?        Ss     0:00  \_ runsv ssh
   114 ?        S      0:00  |   \_ /usr/sbin/sshd -D
   107 ?        Ss     0:00  \_ runsv nginx
 30249 ?        S      0:00  |   \_ nginx: master process /usr/sbin/nginx -g daemon off; error_log /var/log/error.log; -c /etc/nginx/nginx.c
 30260 ?        S      0:04  |       \_ nginx: worker process
   108 ?        Ss     0:00  \_ runsv idmapd
   111 ?        S      0:00  |   \_ /usr/sbin/rpc.idmapd -f -C -p /run/rpc_pipefs
   109 ?        Ss     0:01  \_ runsv app
 30697 ?        Sl     0:00      \_ foreman: master
 30709 ?        S      0:00          \_ sh -c RAILS_ENV=production bundle exec unicorn -l $SOCKET -E production config.ru
 30712 ?        S      0:00          |   \_ unicorn master -l /run/app.sock -E production config.ru
 31044 ?        Sl     0:14          |       \_ unicorn worker[0] -l /run/app.sock -E production config.ru
 30710 ?        S      0:00          \_ sh -c RAILS_ENV=production bundle exec sidekiq  -c 4 -e production -L ~/log/sidekiq.log -q critical 
 30713 ?        Sl     0:27              \_ sidekiq 5.2.7 app [0 of 4 busy]
web@l5y3bwtmg7vtrzj2by2gxqcsta:~$

if there are processes outside of the runsv app tree, you need to kill them.

Look for unicorn master processes outside of the runsv app tree and kill them.

0

Comments

2 comments
Date Votes
  • If you feel inclined to reproduce the bug on not-master, you can run sv restart app, which should reproduce the issue.

    0
  • This is a known issue, I have merged the hacky fix I created before leaving, that should solve this.

            command="sidekiq"
            running=`ps ax | grep -v grep | grep $command | wc -l`
            if [ running -gt 0 ]; then
                echo "$command is already running"
            else
                RAILS_ENV=production bundle exec sidekiq  -c 4 -e production -L ~/log/sidekiq.log -q critical -q low -q default
            fi
    

    So … we are running workers in cron now. Yippi. But we should no longer have run away unicorns. If you need to deploy anything: FIRST KILL THE CRON. Then deploy.

    0

Please sign in to leave a comment.

 

Didn't find what you were looking for?

New post