Механизм приложения Google - очереди задачи по сравнению с заданиями крона

Похоже, что Stripe изменил идентификаторы на элементах оформления заказа. У многих есть динамические идентификаторы, которые не совпадают с некоторыми другими примерами здесь.

Что мне сработало, так это сопоставление элементов с текстом-заполнителем. Вот рабочий фрагмент от 12/06/16:

stripe_card_number = '4242424242424242'

within_frame 'stripe_checkout_app' do
  find_field('Card number').send_keys(stripe_card_number)
  find_field('MM / YY').send_keys "01#{DateTime.now.year + 1}"
  find_field('CVC').send_keys '123'

  find('button[type="submit"]').click
end

page.has_content?('Success!', wait: 30)
49
задан David Underhill 21 July 2010 в 11:07
поделиться

3 ответа

Я бы сказал "вроде как". Что нужно помнить об очередях задач:

1) ограничение операций в минуту / час / день - это не то же самое, что повторение чего-либо через равные промежутки времени. Я не думаю, что даже с размером ведра токенов, равным 1, вам не гарантировано, что эти повторения будут равномерно распределены. Это зависит от того, насколько серьезны они, когда они говорят, что очередь реализована как ведро токенов, и должен ли этот оператор быть гарантированной частью интерфейса. Это лабораторные работы, ничего пока не гарантируется.

2) если задача не выполняется, то она повторно ставится в очередь. Если задание cron завершается неудачно, оно регистрируется и не повторяется до тех пор, пока не будет выполнено. Таким образом, задание cron не ведет себя так же, как задача, которая добавляет свою копию, а затем обновляет ваш канал, или как задача, которая обновляет ваш канал, а затем добавляет свою копию.

Вполне возможно, можно смоделировать задания cron с помощью задач, но я сомневаюсь, что оно того стоит. Если вы пытаетесь обойти задание cron, выполнение которого занимает более 30 секунд (или достигает любого другого ограничения запроса), вы можете разделить работу на части и получить задание cron, которое добавляет все части в очередь задач. Были разговоры (в блоге GAE?) Об асинхронной urlfetch, которая могла бы быть лучшим способом обновления RSS-каналов.

и у вас есть задание cron, которое добавляет все части в очередь задач. Были разговоры (в блоге GAE?) Об асинхронной urlfetch, которая могла бы быть лучшим способом обновления RSS-каналов.

и у вас есть задание cron, которое добавляет все части в очередь задач. Были разговоры (в блоге GAE?) Об асинхронной urlfetch, которая могла бы быть лучшим способом обновления RSS-каналов.

24
ответ дан 7 November 2019 в 11:55
поделиться

Я не очень хорошо понимал различия, пока не посмотрел видео Google I / O, где они объясняют это. Официальный источник обычно лучший.

youtube video

слайды из презентации

15
ответ дан 7 November 2019 в 11:55
поделиться

Я смотрю на него так: если я просто разбираю одного RSS-канала для работы Cron может быть достаточно. Если мне нужно проанализировать X количество RSS-каналов, указанных во время выполнения пользователем, или любую другую системную переменную, я бы каждый раз выбирал задачи.

Я говорю это только потому, что в прошлом мне приходилось исключать многие пользовательские твиты поиск через регулярные промежутки времени и с заданиями Cron я закончил создание очень плохой системы очередей для выполнения запросов, которые необходимо было запустить - она ​​не масштабировалась, она не работала '

5
ответ дан 7 November 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: