django-akamai

Logiciel capture d'écran:
django-akamai
Détails logiciels:
Version: 0.0.1
Date de transfert: 20 Feb 15
Développeur: Ben Boyd
Licence: Gratuit
Popularité: 0

Rating: 3.0/5 (Total Votes: 1)

django-Akamai est une application Django qui sert comme un moyen d'effectuer des demandes de purge de Django applications en utilisant l'CCUAPI Akamai. demandes de purge sont réalisées à la demande ou, le cas échéant, placé dans une file d'attente à l'aide de céleri.
Réglages nécessaires:
AKAMAI_CCUAPI_USERNAME = 'ccuapi_username'
AKAMAI_CCUAPI_PASSWORD = 'ccuapi_password'
AKAMAI_CCUAPI_NOTIFICATION_EMAIL = 'your@email.com'
Il existe une variété de façons d'utiliser cette application dans votre application.
Se IL VOUS PLAÎT NOTE: Actuellement, seulement 100 URL seront purgés par demande, exigeant que vous envoyez des signaux supplémentaires / créer des tâches supplémentaires / appel purge () à nouveau avec des morceaux séparés d'URL / objets. Le CCUAPI impose une limite de «sujet» 100 URL de 400 caractères chacune, donc je ai essayé de faire le comportement transparent et permettre à l'utilisateur final pour voir le résultat de chaque demande et réagir en conséquence.
Consultez la documentation d'Akamai pour une information complète sur l'API. Ce soft est livré avec une copie modifiée de https://ccuapi.akamai.com/ccuapi-axis.wsdl qui travaille avec de la lessive.
en utilisant des signaux
signals.py définit deux signaux, l'un qui initie une requête de purge directement, et l'autre des files d'attente de la demande. Le signal de file d'attente est conditionnellement défini et dépend de l'importation réussie de PurgeRequestTask, qui dépend de django-le céleri en cours d'installation.
Lors de l'envoi de ces signaux provenant d'autres applications, vous pouvez passer dans une variété de choses que l'expéditeur pour plus de commodité. Expéditeur peut être une seule chaîne d'URL, une liste de chaînes d'URL, un objet Django individu, ou un QuerySet. Si en passant un objet ou QuerySet, puis get_absolute_url () doit être défini sur chaque objet.
Exemple de signalisation pour effectuer immédiatement la demande:
>>> From akamai.signals importer 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)
Ou, à la file d'attente la demande en utilisant Céleri:
>>> Queue_purge_request.send (obj)
Utilisation des tâches
Pour utiliser la tâche directement, PurgeRequestTask d'importation de tasks.py ainsi:
>>> From akamai.tasks de PurgeRequestTask d'importation
>>> Obj = MyObject.objects.get (pk = 3)
>>> Result = PurgeRequestTask.delay (obj)
>>> Résultat d'impression
1
Utilisation PurgeRequest directement
Vous pouvez également importer PurgeRequest de purge.py et l'utiliser directement. Non pas que seulement 100 urls seront envoyés avec chaque demande de purge, en raison des limites fixées par Akamai. Si vous ajoutez plus de 100 urls, purge () devra être appelée jusqu'à ce qu'aucun reste.
Si vous ne fournissez pas un nom d'utilisateur et mot de passe lors de la création de l'objet PurgeRequest, alors la settings.py de votre projet sera vérifiée pour AKAMAI_CCUAPI_USERNAME et AKAMAI_CCUAPI_PASSWORD. Le défaut de fournir informations de connexion par l'intermédiaire soit de résultats de mécanisme dans un NoAkamaiUsernameProvidedException et / ou NoAkamaiPasswordProvidedException.
Exemple:
>>> Pr = PurgeRequest (username = "ccuapi_user", mot de passe = "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 = "succès."
& Nbsp; sessionID = "987654321"
& Nbsp; estTime = 420
& Nbsp; uriIndex = -1
& Nbsp; modificateurs [] =
& Nbsp;}
>>> pr.urls d'impression
[]

Exigences :

  • Python
  • Django

Commentaires à django-akamai

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!