Forum: Italian Ruby user group Alternativa a rake per lanciare dei task in cron

8f10aaf2a8081fc7a5cf42217a82f55a?d=identicon&s=25 Alessio Cecchi (Guest)
on 2013-12-09 08:50
(Received via mailing list)
Ciao,

premesso che io mi occupo della parte sistemi e non sviluppo
direttamente, quindi potrei dire delle imprecisioni, abbiate pazienza.

Un nostro software, che utilizza Ruby 1.9.x e Rails 3.2.x deve eseguire
dei task in cron ogni 5 minuti. Questi task appesantiscono la CPU del
server non tanto per i compiti che loro stessi eseguono ma per via del
fatto che rake  molto pesante a caricare.

Vorrei capire che possibili alternative ci sono per lanciare questi cron
molto frequenti.

E' possibile ottimizzare l'avvio di rake?

O forse  sbagliato proprio il suo utilizzo in questo contesto e
dobbiamo valutare soluzioni diverse?

Grazie per ogni consiglio/suggerimento
--
Alessio Cecchi is:
@ ILS -> http://www.linux.it/~alessice/
on LinkedIn -> http://www.linkedin.com/in/alessice
Assistenza Sistemi GNU/Linux -> http://www.cecchi.biz
Cloud Email Hosting -> http://www.qboxmail.com
@ PLUG -> ex-Presidente, adesso senatore a vita,
http://www.prato.linux.it
Ff2c5ef7c7d38d18c3cd39d951cc5a07?d=identicon&s=25 Stefano Pigozzi (Guest)
on 2013-12-09 09:05
(Received via mailing list)
2013/12/9 Alessio Cecchi <alessio@skye.it>:
> Un nostro software, che utilizza Ruby 1.9.x e Rails 3.2.x deve eseguire dei
> task in cron ogni 5 minuti. Questi task appesantiscono la CPU del server non
> tanto per i compiti che loro stessi eseguono ma per via del fatto che rake
> molto pesante a caricare.

Ciao, molto probabilmente questi task sono pesanti perch caricano
tutto Rails. A parte aggiornare Ruby, non credo tu possa fare molto a
livello sistemistico per ridurre i tempi di startup.
F8990e1991980f60be9ab371a214a21d?d=identicon&s=25 Federico Ravasio (razielgn)
on 2013-12-09 09:12
(Received via mailing list)
On Monday, December 9, 2013 at 8:50 AM, Alessio Cecchi wrote:
> Vorrei capire che possibili alternative ci sono per lanciare questi cron
> molto frequenti.
>
> E' possibile ottimizzare l'avvio di rake?
>
> O forse è sbagliato proprio il suo utilizzo in questo contesto e
> dobbiamo valutare soluzioni diverse?
>
> Grazie per ogni consiglio/suggerimento
Ciao Alessio,
puoi provare Clockwork [1]. Il processo resta attivo ed esegue i task
con frequenza secondo configurazione.
In alternativa, se avete già un’infrastruttura Sidekiq in piedi, c’è
Sidetiq [2], che estende appunto Sidekiq con la stessa funzionalità.

Federico

[1] https://github.com/tomykaira/clockwork
[2] https://github.com/tobiassvn/sidetiq
Cb8e3a1650513848561ca38f84399fa1?d=identicon&s=25 Fabrizio Regini (freegenie)
on 2013-12-09 09:19
(Received via mailing list)
Cerca di capire se il comando rake che lanci pu evitare di caricare
l'environment di Rails. Quasi sempre questo  necessario, controlla per
che non sia una leggerezza nell'impostazione, magari caricate :task =>
:environment quando non serve. Ad esempio rake assets:clean non richiede
il
caricamento dell'environment, ma di fatto non fa altro che cancellare
dei
file in una directory.
Il consiglio di modificare l'architettura e usare una cosa tipo Sidekiq
ottimo, io farei cos.


2013/12/9 Stefano Pigozzi <stefano.pigozzi@gmail.com>
321db48bf4bdf48da05e781325aed20a?d=identicon&s=25 Maurizio De magnis (olistik)
on 2013-12-09 10:02
(Received via mailing list)
Magari dico una boiata, ma come ipotesi esoterica potrebbero esserci
anche
Zeus [0] o Spring [1] ^_^
Certo è che il già menzionato Sidekiq e il non uso di Rails quando non
serve sono ottime indicazioni :-)

[0] https://github.com/burke/zeus
[1] https://github.com/jonleighton/spring


2013/12/9 Fabrizio Regini <freegenie@gmail.com>
8f10aaf2a8081fc7a5cf42217a82f55a?d=identicon&s=25 Alessio Cecchi (Guest)
on 2013-12-09 17:07
(Received via mailing list)
Il 09/12/2013 09:11, Federico Ravasio ha scritto:
>>
> puoi provare Clockwork [1]. Il processo resta attivo ed esegue i task con
frequenza secondo configurazione.
> In alternativa, se avete già un’infrastruttura Sidekiq in piedi, c’è Sidetiq
[2], che estende appunto Sidekiq con la stessa funzionalità.
>
> Federico
>
> [1] https://github.com/tomykaira/clockwork
> [2] https://github.com/tobiassvn/sidetiq

Ciao Federico,

usiamo Resque per la gestione dei processi quindi escluderei l'uso di
Sidetiq sebbene sarebbe una soluzione ideale.

Rimane invece valida la possibilità di utilizzare Clockwork.

Soluzioni simili a Sidetig per Resque ne conoscete?

--
Alessio Cecchi is:
@ ILS -> http://www.linux.it/~alessice/
on LinkedIn -> http://www.linkedin.com/in/alessice
Assistenza Sistemi GNU/Linux -> http://www.cecchi.biz
Cloud Email Hosting -> http://www.qboxmail.com
@ PLUG -> ex-Presidente, adesso senatore a vita,
http://www.prato.linux.it
5ffafe70176a99f175d16192fd5be69e?d=identicon&s=25 Luca P. (luca_p)
on 2013-12-09 17:08
(Received via mailing list)
Noi usiamo https://github.com/resque/resque-scheduler su un paio di
progetti.

--
Luca Pradovera
luca.pradovera@gmail.com
8f10aaf2a8081fc7a5cf42217a82f55a?d=identicon&s=25 Alessio Cecchi (Guest)
on 2013-12-09 17:08
(Received via mailing list)
Grazie Maurizio per i suggerimenti, ma per questi cron pi che
"precaricare" preferirei alleggerire :-)

Adesso cerco di capire se viene caricato Rails e se questo serve.

Grazie a tutti per i suggerimenti.

Ciao

Il 09/12/2013 10:01, maurizio de magnis ha scritto:
>
>> 2013/12/9 Stefano Pigozzi <stefano.pigozzi@gmail.com>
>>>
>> Ml@lists.ruby-it.org
>> http://lists.ruby-it.org/mailman/listinfo/ml
>>
>
>
>


--
Alessio Cecchi is:
@ ILS -> http://www.linux.it/~alessice/
on LinkedIn -> http://www.linkedin.com/in/alessice
Assistenza Sistemi GNU/Linux -> http://www.cecchi.biz
Cloud Email Hosting -> http://www.qboxmail.com
@ PLUG -> ex-Presidente, adesso senatore a vita,
http://www.prato.linux.it
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.