Django-Akamai є додаток Django, який служить в якості засобу для виконання запитів продувки від Django додатків за допомогою CCUAPI Akamai. Запити продувки здійснюється на вимогу або, можливо, поміщені в чергу з використанням селери.
Необхідні налаштування:
AKAMAI_CCUAPI_USERNAME = 'ccuapi_username "
AKAMAI_CCUAPI_PASSWORD = 'ccuapi_password "
AKAMAI_CCUAPI_NOTIFICATION_EMAIL ='your@email.com "
Є безліч способів використовувати цей додаток в вашу програму.
БУДЬ ЛАСКА, ЗВЕРНІТЬ УВАГА: В даний час тільки 100 посилань будуть очищені за запитом, вимагаючи, щоб ви відправити додаткові сигнали / створити додаткові завдання / очищення () виклик знову з окремими шматками URL-адрес / об'єктів. CCUAPI встановлює ліміт "о" 100 Адреси 400 символів в кожній, так що я спробував зробити поведінку прозорі і дозволяють кінцевому користувачу побачити результат кожного запиту і реагувати відповідним чином.
Зверніться до документації Akamai для отримання повної інформації про API. Ця програма поставляється в комплекті з модифікованою копією https://ccuapi.akamai.com/ccuapi-axis.wsdl, який працює з піною.
Використання сигналів
signals.py визначає два сигнали, один, який ініціює запит продувки безпосередньо, а інший, що в чергу. Сигнал черги визначаються умовно і залежить від успішного імпорту PurgeRequestTask, яка залежить від Django-селери установки.
При відправці цих сигналів з інших додатків, ви можете передати в різних речей в якості відправника для зручності. Відправник може бути єдиний рядок URL, список рядків URL, окремий об'єкт Django, або QuerySet. Якщо проходження в об'єкті або QuerySet, то get_absolute_url () повинні бути визначені на кожному об'єкті.
Приклад сигналізації негайно виконати запит:
>>> Від akamai.signals імпортувати purge_request, queue_purge_request
>>> OBJ = MyObject.objects.get (рк = 3)
>>> Obj.get_absolute_url ()
u'http: //www.example.com/blahblah.html "
>>> Purge_request.send (об'єкт)
Або, щоб стояти в черзі запит, використовуючи селера:
>>> Queue_purge_request.send (об'єкт)
Використання задачі
Щоб використовувати завдання безпосередньо, імпорт PurgeRequestTask від tasks.py таким чином:
>>> Від akamai.tasks імпорт PurgeRequestTask
>>> OBJ = MyObject.objects.get (рк = 3)
>>> Результат = PurgeRequestTask.delay (об'єкт)
>>> Результат друку
1
Використання PurgeRequest безпосередньо
Ви також можете імпортувати PurgeRequest від purge.py і використовувати його безпосередньо. Не те, щоб тільки 100 посилань буде відправлено з кожним запитом продувки, через обмежень, встановлених Akamai. Якщо ви додасте більш ніж 100 адрес, чистка () потрібно буде назвати поки ніхто не залишиться.
Якщо ви не вказуєте ім'я користувача та пароль при створенні PurgeRequest об'єкт, то settings.py вашого проекту буде перевірятися на AKAMAI_CCUAPI_USERNAME і AKAMAI_CCUAPI_PASSWORD. Нездатність забезпечити пароль користувача або через механізм приводить в NoAkamaiUsernameProvidedException та / або NoAkamaiPasswordProvidedException.
Приклад:
>>> Пр = PurgeRequest (ім'я користувача = "ccuapi_user", пароль = "1234567")
>>> Pr.add ("http://www.example.com/url-1.html")
>>> Pr.add (і "http://www.example.com/url-2.html")
>>> REQ = pr.purge ()
>>> Печатки pr.last_result
(PurgeResult) {
І NBSP; ResultCode = 100
І NBSP; resultMsg = "Успіх".
І NBSP; SESSIONID = "987654321"
І NBSP; estTime = 420
І NBSP; uriIndex = -1
І NBSP; модифікатори [] = <порожньо>
І NBSP;}
>>> Друку pr.urls
[]
Вимоги
- Python
- Django
Коментар не знайдено