AWS Cognito лямбда срабатывает дважды

Выполнение любой операции блокировки в событии Dispatch Thread приведет к тому, что ваш GUI перестанет реагировать и перестанет перекрашиваться. Вот почему длительные операции должны выполняться в фоновом потоке.

Кажется, вы знаете, что вам нужно делать что-то в фоновом потоке, но все же хотите заблокировать EDT. Вы не должны этого делать. Вместо этого вы хотите получить обратный вызов - некоторый код, который будет запущен после завершения фоновых потоков.

Уже предоставленный механизм обратного вызова, доступный в Java 6+, - SwingWorker , Внесите работника, поместив join() s (и start() s) в метод doInBackground(). Затем любые операции Swing, которые вы хотите сделать после, могут войти в done().

0
задан Mukesh S 18 January 2019 в 07:32
поделиться

1 ответ

Есть ли шанс, что вы запускаете свою лямбду в VPC? Я видел похожее поведение с триггером Cognito, который запускался в VPC, когда был холодный запуск. Как только лямбда нагрелась, проблема ушла

Я догадывался, что внутренне Cognito имеет очень короткий период ожидания для запуска триггера, и если триггер не отвечает вовремя, он автоматически повторяет попытку.

В итоге нам пришлось добавить логику в наш триггер для проверки этого сценария, чтобы мы не дублировали записи в нашу базу данных.

0
ответ дан Brian Winant 18 January 2019 в 07:32
поделиться
Другие вопросы по тегам:

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