Ruby si blocca dopo 2 giorni

Salve ragazzi,mi sono da poco affacciato al mondo di Ruby, ho sviluppato
un’applicazioneche gira sotto ruby.Il mio problema è il seguente.
Faccio partire il server di ruby nel seguente modo:
#cd /var/www/html/miaapplicazione/
Ruby ./script/server
Il sistema risponde
=> Booting WEBrich
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-c to shutdown server; …
[data e ora] INFO WERBrick 1.3.1
[data e ora] INFO ruby 1.8.5 (2006-09-25) [i386-Linux]
[data e ora] INFO WEBrick::HTTPServer#start: pid=8403 port=3000

ora se faccio http://indirizzo:3000/public=user_id=1 il ruby elabora la
richiesta e risponde correttamente, se continuo a fare richieste in
giornata continua ad andare bene, ma se per esempio faccio la stessa
richiesta dopo 2 giorni il server ruby non risponde mai e nella finestra
di console non vedo alcun evento,ma se riavvio ruby tutto funziona
perfettamente,da cosa può dipendere questo?cosa dovrei modificare?esiste
un modo per avviare ruby in automatico ad ogni riavvio del pc?Grazie

Installa mongrel (sudo gem install mongrel) e fai ripartire con
./script/server.

Luca G. wrote:

Installa mongrel (sudo gem install mongrel) e fai ripartire con
./script/server.

Grazie, per ora va caso mai ci sentiamo tra 2 giorni!(spero di no)

Antonio A. wrote:

Luca G. wrote:

Installa mongrel (sudo gem install mongrel) e fai ripartire con
./script/server.

Grazie, per ora va caso mai ci sentiamo tra 2 giorni!(spero di no)

Scusa ma la risposta era sul fatto che si bloccasse o per farlo
riavviare in automatico?
Grazie ancora

Antonio A. wrote:

Antonio A. wrote:

Luca G. wrote:

Installa mongrel (sudo gem install mongrel) e fai ripartire con
./script/server.

Grazie, per ora va caso mai ci sentiamo tra 2 giorni!(spero di no)

Scusa ma la risposta era sul fatto che si bloccasse o per farlo
riavviare in automatico?
Grazie ancora

Una precisione, non si blocca Ruby ma Rails.
Per eseguirlo in automatico… dovresti dirci il sistema operativo.

Mongrel è un server web più performante di webrich (quello di default di
rails).

Non è che si blocca perché dopo due giorni non c’è più spazio per i log
o altri file che servono alla tua applicazione?

Ciao Michele.

Michele C. wrote:

Antonio A. wrote:

Antonio A. wrote:

Luca G. wrote:

Installa mongrel (sudo gem install mongrel) e fai ripartire con
./script/server.

Grazie, per ora va caso mai ci sentiamo tra 2 giorni!(spero di no)

Scusa ma la risposta era sul fatto che si bloccasse o per farlo
riavviare in automatico?
Grazie ancora

Una precisione, non si blocca Ruby ma Rails.
Per eseguirlo in automatico… dovresti dirci il sistema operativo.

Mongrel è un server web più performante di webrich (quello di default di
rails).

Non è che si blocca perché dopo due giorni non c’è più spazio per i log
o altri file che servono alla tua applicazione?

Ciao Michele.

penso non sia un problema relativo all’applicazione xè prima girava su
un’altro pc ed andava bene. per i log non penso che una 10 di richieste
esauriscano lo spazio, eventualmente da dove devo impostarlo? e como
dovrei cancellarli in automatico?
il so che uso è centos 5 clone di red hat.
Grazie 1000000!

Mongrel è standard di fatto per deployare le webapp Rails, mooolto
meglio di WEBRick. Per questo te l’ho consigliato.

Luca G. wrote:

Mongrel è ³tandard di fatto per deployare le webapp Rails, mooolto
meglio di WEBRick. Per questo te l’ho consigliato.

Purtroppo puntalmente oggi non riesce ad utilizzare la mia applicazione
ruby!
Dove posso svuotare o impostare la dimensione dei log?

Luca G. wrote:

Hai detto che la tua applicazione conta pochi accessi, quindi non credo
siano i log il problema.
Può ¤¡rsi sia qualcosa a livello di sistema operativo. Però ¨ difficile
dirlo.

può dipendere dal fatto che sulla macchina gira anche Apache?in tal caso
cosa dorei fare?

Hai detto che la tua applicazione conta pochi accessi, quindi non credo
siano i log il problema.
Può darsi sia qualcosa a livello di sistema operativo. Però è difficile
dirlo.

puoi provare con Watir o Selenium a fare un sistema che interpella la
tua applicazione ogni tot secondi, e risalire cosi al momento esatto in
cui si blocca…

jeko


Da: [email protected] per conto di Antonio A.
Inviato: sab 17/11/2007 15.11
A: [email protected]
Oggetto: Re: [ruby-it] Ruby si blocca dopo 2 giorni

Luca G. wrote:

Hai detto che la tua applicazione conta pochi accessi, quindi non credo
siano i log il problema.
Pu??rsi sia qualcosa a livello di sistema operativo. Per??difficile
dirlo.

può dipendere dal fatto che sulla macchina gira anche Apache?in tal caso
cosa dorei fare?

Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Michele C. wrote:

penso non sia un problema relativo all’applicazione xè prima girava su
un’altro pc ed andava bene. per i log non penso che una 10 di richieste
esauriscano lo spazio, eventualmente da dove devo impostarlo? e como
dovrei cancellarli in automatico?
il so che uso è centos 5 clone di red hat.
Grazie 1000000!

Su entrambe i pc hai installato centos 5?
Utilizzi i pacchetti della distribuzione o installi tramite gem?
Hai provato a chiedere nel forum di centos
CentOS-Italia.org - La Community degli Utenti Italiani di Linux CentOS Alma Rocky - Indice”?

I log sono nella cartella log (che caso :wink: ) nella directory del
progetto di rails. Quando si blocca controlla se c’è qualche indizio nel
file di log.

Ciao Michele.

Ho parlato con chi ha installato il sistema e mi ha detto che lui ha
utilizzato i pacchetti di centos. Il problema secondo me e che ruby si
“addormenta” se non riceve delle richieste entro un tot di tempo,per
caso puoi darmi un link sull’installazione e disinstallazione di
ruby?GRazie

penso non sia un problema relativo all’applicazione xè prima girava su
un’altro pc ed andava bene. per i log non penso che una 10 di richieste
esauriscano lo spazio, eventualmente da dove devo impostarlo? e como
dovrei cancellarli in automatico?
il so che uso è centos 5 clone di red hat.
Grazie 1000000!

Su entrambe i pc hai installato centos 5?
Utilizzi i pacchetti della distribuzione o installi tramite gem?
Hai provato a chiedere nel forum di centos
CentOS-Italia.org - La Community degli Utenti Italiani di Linux CentOS Alma Rocky - Indice”?

I log sono nella cartella log (che caso :wink: ) nella directory del
progetto di rails. Quando si blocca controlla se c’è qualche indizio nel
file di log.

Ciao Michele.

Non utilizzo Centos, sicuramente c’è un gestore dei pacchetti. L’unico
problema è che devi avere i privilegi di amministratore per
installare/disintallare i pacchetti.

  1. Prova a controllare i log.
  2. dai questo comando “ps aux|grep ruby”. Ti dice semplicemente se ruby
    è tra i processi del sistema.

Ciao Michele.

lightHTTPD non dà segnalazioni di errori da un mese.
Sembra proprio che rails si incanti…
Scommetto che i log di lightHTTPD non diano altre segnalazioni (non il
log di errore).
Ma la costante è il tempo o il numero di richieste?
Prova a fare (con dei tool) un numero di richieste elevato e cercare di
capirci qualcosa.
Se la costante è il tempo e non il carico, mi vien da pensare che cron
(o chi per lui) faccia delle operazioni che bloccano rails.

Ho viasualizzato i log in development trovo :


…parte finale…
Processing CustomerController#list (for 127.0.0.1 at 2007-05-31
12:28:54) [GET]
Session ID: 37eb2e1f7b71b70acd0787351caa8445
Parameters: {“action”=>“list”, “controller”=>“customer”}
#[4;36;1mCustomer Columns (0.002574)#[0m #[0;1mSHOW FIELDS FROM
customers#[0m
#[4;35;1mSQL (0.000650)#[0m #[0mSELECT count(*) AS count_all FROM
customers WHERE (user_id = 2) #[0m
#[4;36;1mCustomer Load (0.001416)#[0m #[0;1mSELECT * FROM customers
WHERE (user_id = 2) LIMIT 0, 10#[0m
Rendering within layouts/admin
Rendering customer/list
Rendered customer/_show_menu (0.00070)
Completed in 0.10930 (9 reqs/sec) | Rendering: 0.00998 (9%) | DB:
0.00464 (4%) | 200 OK [http://localhost/customer/list]
DEPRECATION WARNING: model is deprecated and will be removed from Rails
2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details. (called
from ./script/…/config/…/app/controllers/application.rb:17)
DEPRECATION WARNING: depend_on is deprecated and will be removed from
Rails 2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details.
(called from model_without_deprecation at
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/deprecated_dependencies.rb:13)
DEPRECATION WARNING: model is deprecated and will be removed from Rails
2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details. (called
from ./script/…/config/…/app/controllers/application.rb:18)
DEPRECATION WARNING: depend_on is deprecated and will be removed from
Rails 2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details.
(called from model_without_deprecation at
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/deprecated_dependencies.rb:13)

Processing CustomerController#destroy (for 127.0.0.1 at 2007-05-31
12:29:00) [GET]
Session ID: 37eb2e1f7b71b70acd0787351caa8445
Parameters: {“action”=>“destroy”, “id”=>“4”, “controller”=>“customer”}
#[4;35;1mContract Delete all (0.031217)#[0m #[0mDELETE FROM
contracts WHERE (customer_id = ‘4’) #[0m
#[4;36;1mCustomer Columns (0.002633)#[0m #[0;1mSHOW FIELDS FROM
customers#[0m
#[4;35;1mCustomer Load (0.001709)#[0m #[0mSELECT * FROM customers
WHERE (customers.id = 4) #[0m
#[4;36;1mSQL (0.000288)#[0m #[0;1mBEGIN#[0m
#[4;35;1mCustomer Destroy (0.000521)#[0m #[0m DELETE FROM customers
WHERE id = 4
#[0m
#[4;36;1mSQL (0.005355)#[0m #[0;1mCOMMIT#[0m
Redirected to http://localhost:3000/customer/list
Completed in 0.06352 (15 reqs/sec) | DB: 0.04172 (65%) | 302 Found
[http://localhost/customer/destroy/4]
DEPRECATION WARNING: model is deprecated and will be removed from Rails
2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details. (called
from ./script/…/config/…/app/controllers/application.rb:17)
DEPRECATION WARNING: depend_on is deprecated and will be removed from
Rails 2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details.
(called from model_without_deprecation at
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/deprecated_dependencies.rb:13)
DEPRECATION WARNING: model is deprecated and will be removed from Rails
2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details. (called
from ./script/…/config/…/app/controllers/application.rb:18)
DEPRECATION WARNING: depend_on is deprecated and will be removed from
Rails 2.0 See Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. for details.
(called from model_without_deprecation

Riavvio e si aggiunge:

Processing PublicController#index (for 192.168.47.197 at 2007-11-28
09:17:40) [GET]
Session ID: 061569ed81811181c7bafd7b68b1d63f
Parameters: {“action”=>“index”, “controller”=>“public”,
“user_id”=>“2”}
#[4;36;1mUser Columns (0.003564)#[0m #[0;1mSHOW FIELDS FROM
users#[0m
#[4;35;1mUser Load (0.001897)#[0m #[0mSELECT * FROM users WHERE
(users.id = 2) #[0m
#[4;36;1mProperty Load (0.001001)#[0m #[0;1mSELECT * FROM properties
WHERE (user_id = ‘2’) #[0m
#[4;35;1mProperty Columns (0.002208)#[0m #[0mSHOW FIELDS FROM
properties#[0m
#[4;36;1mSQL (0.000595)#[0m #[0;1mSELECT count(*) AS count_all FROM
properties WHERE (user_id = ‘2’) #[0m
Rendering within layouts/public
Rendering public/index
Completed in 0.03393 (29 reqs/sec) | Rendering: 0.00670 (19%) | DB:
0.00927 (27%) | 200 OK [http://miodomio/public?user_id=2]


NEI LOG DI lightHTTPD.ERROR

2007-10-26 16:27:35: (mod_fastcgi.c.2551) FastCGI-stderr: n.rb:18:
warning: already initialized constant EXPR_DOT
/usr/local/lib/ruby/1.8/irb/ruby-token.rb:19: warning: already
initialized constant EXPR_CLASS
/usr/local/lib/ruby/1.8/irb/ruby-token.rb:242: warning: already
initialized constant TokenDefinitions
/usr/local/lib/ruby/1.8/irb/ruby-token.rb:247: warning: already
initialized constant TkReading2Token
/usr/local/lib/ruby/1.8/irb/ruby-token.rb:248: warning: already
initialized constant TkSymbol2Token

AL riavvio non si aggiunge alcuna riga.


Potete aiutarmi grazie.

Michele C. wrote:

lightHTTPD non dà segnalazioni di errori da un mese.
Sembra proprio che rails si incanti…
Scommetto che i log di lightHTTPD non diano altre segnalazioni (non il
log di errore).
Ma la costante è il tempo o il numero di richieste?
Prova a fare (con dei tool) un numero di richieste elevato e cercare di
capirci qualcosa.
Se la costante è il tempo e non il carico, mi vien da pensare che cron
(o chi per lui) faccia delle operazioni che bloccano rails.

Credo anzi sono certo che sia dovuto al tempo, perchè avevo già provato
a bombardarlo e continua a funziore, quando però la lascio inattiva per
1 o 2 giorni si blocca e come se si addormentasse

Studia l’utilizzo di:
script/process/reaper
script/process/spawner


blog: www.lucaguidi.com
speaker at:
Rome JavaDay 2007
javaday.it - This website is for sale! - javaday Resources and Information.

Luca G. wrote:

Studia l’utilizzo di:
script/process/reaper
script/process/spawner


blog: www.lucaguidi.com
speaker at:
Rome JavaDay 2007
javaday.it - This website is for sale! - javaday Resources and Information.

Scusami la domanda e stupida ma sono alle prime armi con ruby on rails,
potresti fornirmi qualche link dove studiare

script/process/reaper
script/process/spawner

?

Ho fatto un giro per la rete ho ho trovato un’installazione fatta (non
ricordo da chi), parlava di un file di nome webrick.to_be_used contenuto
in /usr/tmp dopo l’installazione che doveva essere spostato in
/etc/init.d e rinominato come webrick, mi ha detto che è utilizzato per
tener sveglio WeBrick, ne sapete qualcosa’sul mio sistema non riesco a
trovarlo!
Grazie e scusatemi

Se non sbaglio, la documentazione di Capistrano ha dei buoni esempi su
come “risvegliare” l’applicazione. E’ lo stesso processo usato per far
ripartire l’app, dopo un deploy con Capistrano.

Luca.