Parece que o problema específico do Geo já foi resolvido, mas encontrei uma mensagem semelhante ao tentar configurar um aplicativo do Rails com sidekiq
como um serviço gerenciado. Vou explicar a minha solução aqui, caso isso ajude qualquer novato como eu.
Estou trabalhando em uma instalação do CentOS, e o chkconfig já está configurado com vários outros serviços como httpd, mysql e redis. Observe que a maioria dos serviços só precisa ser ativada em runlevels 3
a 5
.
chkconfig --list
> httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
> mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
> redis-server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
> (etc...)
Eu precisava adicionar um novo script para o serviço sidekiq
, então peguei o script no link , modificado para ajustar os parâmetros do meu aplicativo e salvá-lo em /etc/rc.d/init.d/sidekiq
(de propriedade do root, como todos os outros scripts).
No entanto, quando tentei registrar este novo serviço, recebi o erro chkconfig:
sudo chkconfig --add sidekiq
> service sidekiq does not support chkconfig
Depois de alguma leitura extra Descobri que os números de prioridade definidos na parte superior de cada script chkconfig devem ser exclusivos. Uma mensagem de erro mais clara teria sido legal! Outro script tinha o nível de prioridade de desligamento 75, então mudei o meu para 76 e tentei novamente. Aqui está a cabeça do meu script de inicialização:
#!/bin/bash
#
# sidekiq Init script for Sidekiq
#
# chkconfig: 345 99 76
# processname: sidekiq
# pidfile: /var/www/visual_testing_tool/sidekiq.pid
# description: Starts and Stops Sidekiq message processor for the Rails app.
#
Desta vez, sudo chkconfig --add sidekiq
não deu nenhuma reclamação. Então, quando eu executei sudo chkconfig --list sidekiq
, o serviço sidekiq foi mostrado como on
para os níveis de execução apropriados.