Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności:
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: [Django] - call_command  (Przeczytany 283 razy)
« : 10:24 19/06/17 »
jundymek Offline
Advanced Python User

Zobacz profil
**

Reputacja: 3
Wiadomości: 287


Witam

Znalazłem rozwiązanie do moich zadań cron w Django. Korzystam z django-kronos i sprawuje się to rozwiązanie całkiem w porządku. Problem pojawia się przy próbie zmiany interwału czasowego. Kod samego crona wygląda mniej więcej tak:
Kod
if config.CRON_ENABLE == 'tak':
   print('TESTOWE' + str(config.CRON_MIN))
   @kronos.register('*/{} * * * *'.format(config.CRON_MIN))
Potem oczywiście właściwa funkcja zadania cron.

config.CRON_MIN to wartość pobierana z django-constance (taki moduł do zarządzania opcjami)
W panelu damina ustawiłem sobie możliwość zmiany interwału czasowego i staram się znaleźć rozwiązanie w jaki sposób "przeładować" zadanie żeby działało na nowym interwale.  Próbuję w taki sposób:
Kod
@receiver(config_updated)
def constance_updated(sender, key, old_value, new_value, **kwargs):
   call_command('installtasks')
 

ale otrzymuję tylko komunikat (w terminalu) - "1 tasks removed, 1 installed."
Jak sprawdzam poleceniem crontab -l widnieje dalej stary interwał czasowy.
Jak wywołam to samo polecenie ręcznie - "python manage,py installtasks" wszystko działa tak jak powinno. Interwał zmienia się na ten ustawiony w django-constance (wartość CRON_MIN).
Dodatkowo zauważyłem, że wtedy w terminalu otrzymuję:
Cytuj
TESTOWE 25 (jeśli 25 zostało ustawione w CRON_MIN)
1 tasks removed, 1 installed.

Może ma ktoś pomysł gdzie popełniam błąd? Wygląda jakby polecenie python manage.py installtasks działało inaczej niż call_command('installtasks'). Dzięki za wszelkie wskazówki.
Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2017 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot