-
Notifications
You must be signed in to change notification settings - Fork 121
Comparing changes
Open a pull request
base repository: GoogleCloudPlatform/functions-framework-python
base: v3.6.0
head repository: GoogleCloudPlatform/functions-framework-python
compare: v3.7.0
- 9 commits
- 23 files changed
- 5 contributors
Commits on May 7, 2024
-
* feat: Add execution id Adds an execution id for each request. When the LOG_EXECUTION_ID env var is set, the execution id will be included in logs.
Configuration menu - View commit details
-
Copy full SHA for 662bf4c - Browse repository at this point
Copy the full SHA 662bf4cView commit details
Commits on May 13, 2024
-
feat: support disabling execution id logging (#325)
* feat: support disabling execution id logging * Update test_execution_id.py * Update __init__.py * Update __init__.py
Configuration menu - View commit details
-
Copy full SHA for 2e7de92 - Browse repository at this point
Copy the full SHA 2e7de92View commit details
Commits on May 16, 2024
-
feat: restore gunicorn worker default configs from 3.5.0 (#326)
* feat: restore defaults present < 3.6.0, but retain customizability * revert the test, too * also restore this assert :) --------- Co-authored-by: Jeremy Fehr <jfehrforgithub2@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f08757a - Browse repository at this point
Copy the full SHA f08757aView commit details -
chore(deps): update all non-major dependencies (#322)
Co-authored-by: jrmfg <117788025+jrmfg@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0ecd985 - Browse repository at this point
Copy the full SHA 0ecd985View commit details -
chore(deps): update pypa/gh-action-pypi-publish digest to 699cd61 (#313)
Co-authored-by: jrmfg <117788025+jrmfg@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3d43892 - Browse repository at this point
Copy the full SHA 3d43892View commit details -
Configuration menu - View commit details
-
Copy full SHA for fff38ae - Browse repository at this point
Copy the full SHA fff38aeView commit details
Commits on May 17, 2024
-
feat: (opt-in): terminate handling of work when the request has alrea…
…dy timed out (#328) Overhead-free (or at least very cheap). The “timeout” gunicorn config means drastically different things for sync and non-sync workers: > Workers silent for more than this many seconds are killed and restarted. > > Value is a positive number or 0. Setting it to 0 has the effect of > infinite timeouts by disabling timeouts for all workers entirely. > > Generally, the default of thirty seconds should suffice. Only set this > noticeably higher if you’re sure of the repercussions for sync workers. > For the non sync workers it just means that the worker process is still > communicating and is not tied to the length of time required to handle a > single request. So. For cases where threads = 1 (user set or our defaults), we’ll use the sync worker and let the regular timeout functionality do its thing. For cases where threads > 1, we’re using the gthread worker, and timeout means something completely different and not really user-observable. So we’ll leave the communication timeout (default gunicorn “timeout”) at 30 seconds, but create our own gthread-derived worker class to use instead, which terminates request handling (with no mind to gunicorn’s “graceful shutdown” config), to emulate GCFv1. The arbiter spawns these workers, so we have to maintain some sort of global timeout state for us to read in our custom gthread worker. In the future, we should consider letting the user adjust the graceful shutdown seconds. But the default of 30 seems like it’s worked fine historically, so it’s hard to argue for changing it. IIUC, this means that on gen 2, there’s a small behavior difference for the sync workers compared to gen 1, in that gen 2 sync worker workloads will get an extra 30 seconds of timeout to gracefully shut down. I don’t think monkeying with this config and opting-in to sync workers is very common, though, so let’s not worry about it here; everyone should be on the gthread path outlined above. * fix tests * small test fixes give up on coverage support for things that are tested in different processes, or in gthread, because it looks like pytest-cov gave up on support for these, where as coverage has out-of-the-box support * format * isort everything * skip tests on mac there's something test-specific about how mac pickles functions for execution in multiprocessing.Process which is causing problems. it seems somewhere in the innards of flask and gunicorn and macos... since this feature is opt-in anyway, let's just skip testing darwin. * sort tuple of dicts in async tests before asserting causes flakes sometimes in workflows * use double-quotes * also skip tests on windows - this is all built for gunicorn, there's no value adding it for windows anyway * skip import on windows * easy stuff * add a few tests for sync worker timeouts these shouldn't have changed with this commit
Configuration menu - View commit details
-
Copy full SHA for 2601975 - Browse repository at this point
Copy the full SHA 2601975View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04c1fdc - Browse repository at this point
Copy the full SHA 04c1fdcView commit details
Commits on May 22, 2024
-
chore(main): release 3.7.0 (#324)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0ebea7d - Browse repository at this point
Copy the full SHA 0ebea7dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.6.0...v3.7.0