Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monitoramento de Tarefas Assíncronas

Monitoramento de Tarefas Assíncronas

Palestra sobre Monitoramento de Tarefas Assíncronas (como cron tasks) realizada no encontro do grupo FoR (Frevo On Rails) de Recife - PE

Avatar for Airton Sampaio

Airton Sampaio

July 26, 2014
Tweet

More Decks by Airton Sampaio

Other Decks in Programming

Transcript

  1. Log Everything! 1.  Log separado por tarefa 2.  Log contendo

    STDOUT e STDERR (No caso de comandos ou scripts bash) 3.  Rotacionar os logs
  2. Cron * * * * * /path/to/script.sh Dia da semana

    (0-6) (Dom = 0) Mês (1-12) Dia do mês (1-31) Hora (0-23) Minuto (0-59)
  3. set :job_template, "#{job_template} && curl :url"! ! every 1.day, :at

    => ['0:00am'] do! rake “my:task", :url => ”dms5.com/3231412"! end! schedule.rb Placeholder Replacement
  4. 0 0 * * * /bin/bash -l -c 'cd /path/to

    && RAILS_ENV=production bundle exec rake my:task --silent' && Crontab curl dms5.com/3231412
  5. Dead Man’s Snitch 1.  URL por Tarefa 2.  Log to

    Hell (your_command &> /dev/null) 3.  Pago ($19/100 tasks/mês)
  6. Amazon EC2 micro $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://../jenkins.repo $

    sudo rpm --import http://..jenkins-ci.org.key $ sudo yum install jenkins $ sudo service jenkins start
  7. set :jenkins_home, "http://jenkins-instance- url:8080"! ! set :job_template, ”JENKINS_HOME=#{jenkins_home}! /bin/jenkins_core.jar ‘:id’

    #{job_template}"! ! every 1.day, :at => ['0:00am'] do! rake “my:task", :id => ”MyTask"! end! schedule.rb Placeholder Replacement
  8. 0 0 * * * /bin/bash -l -c JENKINS_HOME=http://jenkins-instance..:8080 /bin/jenkins_core.jar

    “MyTask” 'cd /path/to && RAILS_ENV=production bundle exec rake my:task –silent’ Crontab
  9. Octavarium::Whenever.init(self, ! { :server_url => "http://oct3.com",! :group_name => "Ads" })!

    ! every 1.day, :at => ['0:00am'] do! rake “my:task”! end! schedule.rb
  10. Roadmap 1.  Configurações de notificação avançadas por tarefa 2.  Sistema

    de Autenticação 3.  Tutoriais e documentação completa