[i-Diario] - Como inicializar a sincronização com o i-Educar (sidekiq) após o reinicio do computador

Caros,

Como faço para inicializar o sidekiq após a inicialização do servidor ou vps? Tentei utilizar o crontab e um script, porém ocorre um conflito com o Ruby. O i-Diario exige um e o nginx exige outro e o crontab tenta inicializar o sidekiq pelo Ruby do nginx, disparando um erro.

Oi @robson!

Acredito que utilizar o Supervisor ou o Monit pode ser uma opção melhor, pois além de inicializar o sidekiq, se parar por algum motivo ele sobe novamente.

Acho que pode te ajudar: Monit e Supervisor.

Vou testar. E com o systemd?

Criando o serviço sidekiq.service pesquisa no Forum q fiz um post

1 Curtida
1 Curtida

Muito obrigado @dill, era o que eu procurava

Nada mano, se tiver dúvida, só avisar.

Mestre @dill com muita luta consegui fazer o sidekiq começar a funcionar como um serviço, porém a sincronização não sai de 0%. Segue o arquivo do serviço

#Inicio
[Unit]
Description=sidekiq
After=syslog.target network.target

[Service]
Type=simple
WorkingDirectory=/i-diario-1.0.8
#ExecStart=/bin/bash -lc "bundle exec sidekiq -e production -C config/sidekiq.yml"
ExecStart=/bin/bash -lc "RAILS_ENV=production /usr/share/rvm/gems/ruby-2.2.6/gems/bundler-1.17.3/exe/bundle exec sidekiq -e production -C config/sidekiq.yml -L log/sidekiq.log"

#ExecReload=/usr/bin/kill -TSTP $MAINPID

#User=root # usuario q esta instalado o ruby etc…
#Group=root # grupo q esta instalado o ruby etc…
UMask=0002

#if we crash, restart
RestartSec=1
Restart=on-failure
#Restart=always

#output goes to /var/log/syslog
StandardOutput=syslog
StandardError=syslog

#This will default to “bundler” if we don’t specify it
SyslogIdentifier=sidekiq

[Install]
WantedBy=multi-user.target

@robson o script está encontrando o arquivo config/sidekiq.yml ou a configuração dele está ok?

Chegou a executar a chamada direto no terminal para ver se não dá erro?

RAILS_ENV=production /usr/share/rvm/gems/ruby-2.2.6/gems/bundler-1.17.3/exe/bundle exec sidekiq -e production -C config/sidekiq.yml -L log/sidekiq.log

Boa ideia,

Segue a saída:

root@ubuntu-s-1vcpu-1gb-nyc1-01:/i-diario-1.0.8# RAILS_ENV=production /usr/share/rvm/gems/ruby-2.2.6/gems/bundler-1.17.3/exe/bundle exec sidekiq -e production -C config/sidekiq.yml
2019-11-12T15:26:47.635Z 29103 TID-gmskpdfm4 INFO: Booting Sidekiq 5.0.3 with redis options {:url=>"redis://localhost:6379", :id=>"Sidekiq-server-PID-29103"}
2019-11-12T15:26:53.573Z 29103 TID-gmskpdfm4 INFO: Running in ruby 2.2.6p396 (2016-11-15 revision 56800) [x86_64-linux]
2019-11-12T15:26:53.575Z 29103 TID-gmskpdfm4 INFO: See LICENSE and the LGPL-3.0 for licensing details.
2019-11-12T15:26:53.575Z 29103 TID-gmskpdfm4 INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
2019-11-12T15:26:53.600Z 29103 TID-gmskpdfm4 INFO: Starting processing, hit Ctrl-C to stop

@robson sincronizou? Pela saída o processo está carregando sem erro. Falta saber mesmo se as filas que subiram são as que você precisa.

Chegou a olhar ip_de_instalação/sidekiq/busy ?

Inserindo o comando no terminal funciona, pelo serviço do systemd não. Suponho que seja um problema da pasta de trabalho

Então passa o caminho absoluto de onde estão os arquivos do sidekiq.

1 Curtida

Valeu, Precisando estamos aqui.