Как отправить сообщение из Zapier python менее чем за 1,00 секунды? - PullRequest
0 голосов
/ 21 мая 2018

Есть ли способ отправить POST из Zap "Code by Zapier" в MailChimp, чтобы добавить подписчика в список и надежно завершить его менее чем за 1 секунду?

Я провел выходные в добровольном хакатоне для некоммерческих организаций.Моему некоммерческому клиенту нужны некоторые данные, проанализированные из электронного письма и используемые для добавления подписчика в список в MailChimp (коммерческая часть SquareSpace отправляет данные по электронной почте, но не позволяет устанавливать хранилище в форме покупки для MailChimp - даже еслиэто работает в SquareSpace, если вы не в области торговли).Мы обнаружили, что можем сделать это с Zapier - за исключением того, что мы достигли предела того, что можно сделать с помощью бесплатного аккаунта на Zapier, и некоммерческий не может купить платный аккаунт прямо сейчас (скидка Zapier для некоммерческих организаций).на 15%).

Первым ограничением было то, что мы не могли выполнить трехэтапный переход (максимум 2 шага для бесплатных аккаунтов), чтобы перейти от (1) триггера Gmail к (2) "кодуZapier "для анализа содержимого электронной почты, а затем (3) для MailChimp.Обходной путь, к которому мы пришли, заключался в том, чтобы удалить шаг № 3 и отправить его в MailChimp напрямую через HTTP POST в MailChimp API из скрипта Python в «Code by Zapier».Это работало в тестовом режиме в Zapier.

Но как только Zap был включен, и мы запустили сквозное тестирование с сайтом, Zap не удалось.Для бесплатных Zaps существует ограничение времени выполнения 1,00 секунды: после этого Zapier убивает задание.POST to MailChimp занял достаточно много времени, чтобы тайм-аут Zap.

Я использовал «Code by Zapier» с Python для отправки сообщения. Они используют Python 2.7.10 .Я смог import requests сделать пост, и я обнаружил, что несколько других модулей тоже работают, например json, httplib и urllib.

Что мне интересно, так этоспособ получить POST, чтобы произойти надежно менее чем за 1 секунду.Например, есть ли способ использовать асинхронную отправку, а затем не ждать ответа.И я ограничен Python 2.7.10 и средой Zapier.Zapier также допускает использование JavaScript в качестве альтернативы Python, так что это может стать еще одним способом исследования, если в Python нет решения.

1 Ответ

0 голосов
/ 21 мая 2018

Дэвид здесь, из команды Zapier Platform.

Я не могу говорить конкретно о скорости Python, но я знаю, что javascript может запускать запросы, не ожидая ответа.У нас есть базовый пример здесь , который вы бы изменили, чтобы отправить запрос и немедленно завершить выполнение (вызвав функцию callback).Это не будет хорошим опытом, потому что ошибки будут происходить тихо, но они почти наверняка поместятся в 1-секундном окне.

Отдельно доступен весь пакет python stdlib, а также модуль requests( 1010 * документы *)

...