django-Akamai jest aplikacja Django, który służy jako środek do wykonywania żądań usuwalne z Django apps za pomocą CCUAPI Akamai. Wnioski czyszczenie wykonywane na żądanie lub, ewentualnie, umieszczonych w kolejce z użyciem selera.
Wymagane ustawienia:
AKAMAI_CCUAPI_USERNAME = 'ccuapi_username "
AKAMAI_CCUAPI_PASSWORD = "ccuapi_password"
AKAMAI_CCUAPI_NOTIFICATION_EMAIL = "your@email.com"
Istnieje wiele sposobów, aby korzystać z tej aplikacji w aplikacji.
UWAGA: Obecnie tylko 100 URL będą usuwane na żądanie, wymagając, aby wysłać dodatkowych sygnałów / utworzyć dodatkowe zadania / przedmuchiwanie call (), dzięki oddzielnych kawałków adresy URL / obiektów. CCUAPI nakłada limit "o" 100 URL 400 znaków każdy, więc starałem się, aby zachowanie przejrzysty i pozwala użytkownik końcowy, aby zobaczyć wynik każdego wniosku i odpowiednio na nie reagować.
Zapoznaj się z dokumentacją Akamai do pełnej informacji na temat interfejsu API. Ta aplikacja jest dostarczany wraz ze zmodyfikowaną kopią https://ccuapi.akamai.com/ccuapi-axis.wsdl która współpracuje z mydlin.
przy użyciu sygnałów
signals.py definiuje dwa sygnały, jeden, który inicjuje wniosek oczyszczania bezpośrednio, a drugi, że żądanie w kolejce. Sygnał kolejek jest zdefiniowana warunkowo i zależy od udanego importu PurgeRequestTask, która zależy od instalowanego django-seler.
Podczas wysyłania tych sygnałów z innych aplikacji, można przekazać na różne rzeczy, jak nadawcy dla wygody. Nadawca może być pojedynczy ciąg URL, listą łańcuchów URL, pojedynczy obiekt Django lub QuerySet. Jeśli przekazując obiektu lub QuerySet, a następnie get_absolute_url () muszą być zdefiniowane w każdym obiekcie.
Przykład sygnalizacji natychmiast na prośbę:
>>> Z akamai.signals importować purge_request, queue_purge_request
>>> Obj = MyObject.objects.get (pk 3 =)
>>> Obj.get_absolute_url ()
u'http: //www.example.com/blahblah.html "
>>> Purge_request.send (obj)
Albo, w kolejce żądanie przy Seler:
>>> Queue_purge_request.send (obj)
Korzystanie Zadania
Aby użyć zadania bezpośrednio, import PurgeRequestTask z tasks.py thusly:
>>> Z akamai.tasks importu PurgeRequestTask
>>> Obj = MyObject.objects.get (pk 3 =)
>>> Wynik = PurgeRequestTask.delay (obj)
>>> Wydruk
1
Korzystanie PurgeRequest bezpośrednio
Możesz także importować PurgeRequest z purge.py i używać go bezpośrednio. Nie, że tylko 100 URL zostanie wysłany do każdego żądania oczyszczania, ze względu na granicach określonych przez Akamai. Jeśli dodać więcej niż 100 adresów, oczyszczający () musi być wywołana, aż nic nie zostało.
Jeśli nie podanie nazwy użytkownika i hasła podczas tworzenia PurgeRequest obiekt, a następnie settings.py twojego projektu będą sprawdzane pod kątem AKAMAI_CCUAPI_USERNAME i AKAMAI_CCUAPI_PASSWORD. Niedostarczenie login albo poprzez wyniki mechanizmu w NoAkamaiUsernameProvidedException i / lub NoAkamaiPasswordProvidedException.
Przykład:
>>> Pr = PurgeRequest (nazwa użytkownika = "ccuapi_user", hasło = "1234567")
>>> Pr.add ("http://www.example.com/url-1.html")
>>> Pr.add (u "http://www.example.com/url-2.html")
>>> Req = pr.purge ()
>>> Print pr.last_result
(PurgeResult) {
& Nbsp; ResultCode = 100
& Nbsp; resultMsg = "Sukces".
& Nbsp; sessionid = "987654321"
& Nbsp; estTime = 420
& Nbsp; uriIndex = -1
& Nbsp; modyfikatory [] =
& Nbsp;}
>>> pr.urls druku
[]
Wymagania :
- Python
- Django
Komentarze nie znaleziono