Page 132 of 165

Uruchamianie zadań Rake z poziomu innych katalogów (nie z katalogu projektu)

Czasem potrzebujemy uruchomić zadanie Rake'owe niezależnie od katalogu w którym się znajdujemy. Powodem tego może być np potrzeba wrzucenia rake'owego taska do Crona, żeby odpalał się np. co 5 minut. Jak tego dokonać?

Pierwszą rzeczą jest dowiedzenie się gdzie leży Rake:

# Komenda:
which rake
# Wynik:
/usr/local/bin/rake

Jeśli z jakiegoś powodu nie mamy uprawnień do używania which, po prostu musimy strzelać. Jest duża szansa że rake będzie dokładnie tam, gdzie w powyższym przykładzie (chyba że korzystamy z RVM i nie jest to wersja --system).

Mając już rake'a, możemy przystąpić do działania. Załóżmy że chcemy odpalać go co 5 minut. W tym celu definiujemy następującą regułę:

*/5 * * * * env -i KOD_DO_ODPALENIA

Zagwarantuje nam to, że deamon systemowy, uruchomi nasz KOD_DO_ODPALENIA, co 5 minut. Następnie musimy dopisać kod który mamy uruchomić. Aby to zrobić, musimy powiązać przejście do katalogu aplikacji z odpaleniem jej. Robimy to operatorem &&. Najpierw mówimy deamonowi gdzie chcemy być:

cd /home/nazwa_konta/rails/apka/

następnie co chcemy uruchomić i w jakim środowisku:

/usr/local/bin/rake cron:all  RAILS_ENV=production

i łączymy to w jedną regułę:

*/5 * * * * env -i cd /home/nazwa_konta/rails/apka/ &&  /usr/local/bin/rake cron:all  RAILS_ENV=production

jeśli tamto nie zadziała, można w ten sposób:

*/5 * * * * env -i bash -c 'cd /home/nazwa_konta/rails/apka/; /usr/local/bin/rake cron:all RAILS_ENV=production'

Wersja dla Crona który nie ma tych samych zmiennych środowiskowych co shell:

 */5 * * * * source $HOME/.serv && cd /home/nazwa_konta/rails/apka && rake cron:all RAILS_ENV=production

Android Cyanogen i Launcher pro has expired

Dzisiaj włączając telefon, napotkała mnie bardzo nieprzyjemna sytuacja. Mój Launcher Pro wysiadł. Nic nie dało się w nim zrobić. Mało tego, kiedy naciskałem "Home" aby wywołać pulpit, włączał browser i przekierowywał mnie na swoją stronę, abym dokonał aktualizacji. Wszystko byłoby fajnie, gdyby nie fakt że Cyanowego Launchera nie da się zupdatować z poziomu instalatora. Podejrzewam że dzieje się tak dlatego, że jest on "zintegrowany" z systemem i nie widnieje jako zewnętrzna aplikacja.

Problem był o tyle niemiły że nie dało rady nawet wejść w ustawienia, czy też uruchomić Marketu aby zainstalować sobie np. ADW. Sktukowało to kompletnym paraliżem telefonu. Jak udało mi się to rozwiązać? Poniekąd "naokoło".

Miałem Dolphin Browsera który notorycznie sam się otwierał. Wykorzystałem go aby wejść na link do Marketu. Linku nie pamiętam, ale tutaj macie mój:

LINK ODPALAJĄCY MARKET

Po kliknięciu na niego, odpali nam się aplikacja Market która umożliwi nam pobranie innego launchera np. ADW. Aby wygodnie zmienić launcher - pobieramy jeszcze z Marketu darmową aplikację: Home Switcher i zmieniamy Launcher :)

Copyright © 2024 Closer to Code

Theme by Anders NorenUp ↑