> Request Method: GET
> Request Headers: {'Host': '127.0.0.1:8739', 'Connection': 'keep-alive', 'Function-Execution-Id': '3rNmdjC5Ny1v'}
i functions: Beginning execution of "us-central1-delete"
> Request Method: GET
> Request Headers: {'Host': '127.0.0.1:5001', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'none', 'Sec-Fetch-User': '?1', 'Priority': 'u=0, i', 'Function-Execution-Id': 'sTnlZgBK7dGx'}
Похоже, что первый запрос исходит не от моего браузера, что позволяет предположить, что эмулятор выполняет какую-то операцию прогрева или кэширования.
Кто-нибудь еще сталкивался с этой проблемой и есть ли какие-либо решения, позволяющие предотвратить двойное выполнение в эмуляторе?
Спасибо!
Я заметил, что при работе в среде эмулятора Firebase изменение функции и первый запрос GET приводит к тому, что функция выполняется дважды: [code]@https_fn.on_request( cors=options.CorsOptions( cors_origins=["*"], cors_methods=["GET"], ) ) def delete(req: https_fn.Request) -> https_fn.Response: print(f"Request Method: {req.method}") print(f"Request Headers: {dict(req.headers)}") [/code] Вот вывод журнала: [code]> Request Method: GET > Request Headers: {'Host': '127.0.0.1:8739', 'Connection': 'keep-alive', 'Function-Execution-Id': '3rNmdjC5Ny1v'} i functions: Beginning execution of "us-central1-delete" > Request Method: GET > Request Headers: {'Host': '127.0.0.1:5001', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'none', 'Sec-Fetch-User': '?1', 'Priority': 'u=0, i', 'Function-Execution-Id': 'sTnlZgBK7dGx'} [/code] Похоже, что первый запрос исходит не от моего браузера, что позволяет предположить, что эмулятор выполняет какую-то операцию прогрева или кэширования. Кто-нибудь еще сталкивался с этой проблемой и есть ли какие-либо решения, позволяющие предотвратить двойное выполнение в эмуляторе? Спасибо!