Domanda

Voglio attività di impostazione rake per eseguire tramite cron. Questo è facile, ma ciò che non è facile è garantire che solo una copia di tale compito rake è in esecuzione in un momento. Immagino che potrei usare ps sul sistema per controllare e quindi uscire dal task rake se è già in esecuzione, o potrei fare una struttura di lavoro in ritardo in cui ho serializzare il nome del compito e al termine lo tolgo formare il DB, ma che cosa tutto consigliate?

È stato utile?

Soluzione

Unix risolto questo problema con i file PID. file pid si trovano in / var / run e contengono i programmi di ID processo. Ecco la pagina man: http://fuse4bsd.creo.hu/ localcgi / man-cgi.cgi? pidfile + 3

Si potrebbe trovare un po 'vecchio (e sono d'accordo), ma è un metodo spesso utilizzato e collaudato.

Altri suggerimenti

È possibile utilizzare https://rubygems.org/gems/only_one_rake , come namespace: rotaie fanno     disc "numero di utenti on-line"     only_one_task: online_user_count =>: ambiente do       ciclo {OnlineUser.count; sleep 1}     fine   end

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top