Obecnie pracuję nad projektem wykorzystującym Django 1.3 z aplikacją Django-Celery. To niesamowite, proponuję każdemu, kto nie zna selera, sprawdzić.Django-Celery - Prześlij zadania ponownie ze strony administratora?
Mam konkretne pytanie wokół funkcjonalności strony Admin:
używamy zadania seler dokonać relaksującego wywołań API do partnerów zewnętrznych. Te wywołania są w rzeczywistości uruchamiane przez akcję użytkownika, więc możesz zobaczyć, w jaki sposób zadanie selera byłoby w tym przypadku niezwykle przydatne.
Mamy historię użytkownika wokół jak administrator powinien mieć możliwość ponownego wysłania zwrotnego, jeśli nie powiedzie się z jakiegoś powodu. Teraz, jeśli wywołanie zwrotne nie powiedzie się ze standardową awarią odpowiedzi HTTP, używamy mechanizmu ponawiania selera, aby automatycznie ponownie wysyłać je w różnych odstępach czasu. Jednak te callbacki mogą należeć do jednego z tysięcy partnerów (tak, jest ich wiele) i nie wszystkie z nich będą używać standardowego kodu odpowiedzi HTTP jako odpowiedzi na niepowodzenie.
Krótko mówiąc, nie byłem w stanie znaleźć coś online, które stwierdza, że można ponownie wysłać zadanie seler poprzez interfejs administratora. Miałem nadzieję, że ktoś może rzucić trochę światła na to. Wydaje się, że jest to dość oczywisty element funkcjonalności, a jeśli nie ma takiej funkcjonalności, jestem pewien, że jest ku temu dobry powód. Byłbym zachwycony, gdyby nie było sposobu, żeby to zrobić, gdyby ktoś mógł wyjaśnić powód. Chciałbym dowiedzieć się więcej o wewnętrznych procesach selera.
Dziękuję wszystkim! Przepraszam za moją słowność, czasami mam tendencję do włóczęgi.
BTW - na marginesie, jeśli nie jest to sposób, aby ponownie wysłać zadania, będę realizacji jednego siebie w admin. W tym celu muszę przechowywać argumenty przetrawione w DB. Czy ktoś wie, czy istnieje sposób w Pythona, aby uzyskać krotki argumentów przekazanych oprócz ręcznego tworzenia? To jest coś, co mnie interesuje. Przepraszam, wiem, że łamie zasadę dwóch pytań w jednym poście ... ale technicznie to jest komentarz, więc pomyślałem, że będę bezpieczny, hehe. – jnadro52
Dla zapytania arg, utwórz funkcję jako "def myFunc (* args)" wszelkie przekazane argumenty będą w krotce "args". – aid
Rozumiem, więc jeśli dodaję * args do metody, wszystkie przekazane argumenty będą na liście argumentów. Znałem tę funkcję, ale nie zdawałem sobie sprawy, że zadziałało w ten sposób, z już zdefiniowanymi argumentami niebędącymi słowami kluczowymi. Dzięki za pomoc! – jnadro52