Alterando o timeout de consultas da app no Heroku

Olá pessoal !

Hoje na parte da tarde,  estava eu tranquilo, quando de repente decido verificar se está tudo ok com minha aplicação “deployada” no heroku. Eis que me deparo com o seguinte erro:

PGError: ERROR: canceling statement due to statement timeout

Comecei a procurar o erro até entrar na lista dos usuários do heroku e lá encontrei a resposta do post pelo Higgaion.

Para resolver o problema, precisei dar um novo commit em minha app, rodar o comando git push heroku e a partir daí sim, consegui abrir o heroku console(para quem não sabe, basta digitar heroku console no terminal, dentro da pasta da sua app).  Dentro do console, segui os passos do Haggion:

ActiveRecord::Base.connection.select_all('show statement_timeout')

Para obter a saída:

=> [{“statement_timeout”=>”6s”}]

Que significa que para cada consulta, o timeout é de apenas 6 segundos. Para alterar isto, para 1 min por exemplo, basta executar no console:

ActiveRecord::Base.connection.select_all('set statement_timeout to 60000')

Bom, fica a dica rápida, espero ter ajudado quem teve o mesmo tipo de problema !

Instalcação de gems no Heroku

Olá pessoas, depois de algum tempo, volto a postar algo útil para nosso dia-a-dia de deploys no site de hospedagem free Heroku !

O Heroku, precisa de alguma forma, identificar quais plugins sua aplicação possui para quando for feito o deploy, ele consiga encontrar estas gems e instalá-las para você.

O processo é bem simples, basta criar um arquivo chamado ‘.gems’ na raiz do seu projeto. Dentro deste arquivo, você inclui as gems e se necessário indique a versão e/ou o repositório desta gem, como no exemplo da documentação do Heroku:

hpricot –version ‘>= 0.2’ –source code.whytheluckystiff.net

Feito isto, basta rodar os comandos:
– git add .gems
– git commit -m ‘added gems manifest file’
– git push heroku

Um exemplo de saída com sucesso:

Counting objects: 4, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 356 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)

—–> Heroku receiving push

—–> Installing gem hpricot >= 0.2 from http://code.whytheluckystiff.net
Building native extensions.  This could take a while…
Successfully installed hpricot-0.6
1 gem installed

—–> Installing gem dm-core 0.9.10 from http://gems.rubyforge.org
Successfully installed addressable-2.0.2
Successfully installed extlib-0.9.10
Successfully installed data_objects-0.9.11
Successfully installed dm-core-0.9.10
4 gems installed

—–> Rails app detected
Compiled slug size is 4.3MB
—–> Launching………….. done
App deployed to Heroku

To git@heroku.com:vivid-moon-60.git
91425e3..fe10e87  master -> master

E é somente isso.
Utilizei como fonte, a documentação do site Heroku

Até a próxima !

Hospedagem gratuita no Heroku

Bem amigos, cá estou para divulgar hospedagem gratuita de Ruby on Rails, o @heroku !
Excelente por ser gratuito, apesar de eu não ter tido um tempo legal para testar, tive boas recomendações e para fazer o deploy é muito simples.
Bom, vamos ao que interessa, as configurações:

– Primeiro, devemos instalar a gem do heroku:
sudo gem install heroku

– Crie um novo repositório git para sua app(caso ainda nao tennha criado):
cd “sua_app”
git init && git add . && git commit -m “first commit”

Obs: Cuidado com as aspas.

– Criar uma nova aplicação heroku:
heroku create
Created http://sharp-autumn-42.com/ | git@heroku.com:sharp-autumn-42.git
Git remote heroku added

Obs: O nome da app(sharp-autumn) é gerado automaticamente, depois mostrarei como é simples renomear.

git push heroku master

– Executar migrations:
heroku rake db:migrate

– Abrir app no seu navegador:

heroku open

– Para renomear sua app é simples, basta executar:


heroku rename novonome --app nomeantigo
http://novonome.heroku.com/ | git@heroku.com:novonomoe.git

Sua app vai ficar com o seguinte endereço: http://novonome.heroku.co
Bem simples não ?
Até a próxima !