A tff.program.PeriodicReleaseManager is a utility for releasing values at
regular intervals and is used to release values from platform storage to
customer storage in a federated program.
The interval can be controlled at construction time by setting the
periodicity. The periodicity can be a positive integer or
datetime.timedelta. A periodicity of 3 means that every third value is
released to the release_manager, and invoking release ten times will
release the third, sixth, and ninth values. A periodicity of
datetime.timedelta(hours=3) means that three hours after the previously
released value the next value is released to the release_manager.
[null,null,["Last updated 2024-09-20 UTC."],[],[],null,["# tff.program.PeriodicReleaseManager\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/federated/blob/v0.87.0 Version 2.0, January 2004 Licensed under the Apache License, Version 2.0 (the) |\n\nA [`tff.program.ReleaseManager`](../../tff/program/ReleaseManager) that releases values at regular intervals.\n\nInherits From: [`ReleaseManager`](../../tff/program/ReleaseManager) \n\n tff.program.PeriodicReleaseManager(\n release_manager: ReleaseManager[ReleasableStructure, Key],\n periodicity: Union[int, datetime.timedelta]\n )\n\nA [`tff.program.PeriodicReleaseManager`](../../tff/program/PeriodicReleaseManager) is a utility for releasing values at\nregular intervals and is used to release values from platform storage to\ncustomer storage in a federated program.\n\nThe interval can be controlled at construction time by setting the\n`periodicity`. The `periodicity` can be a positive integer or\n`datetime.timedelta`. A `periodicity` of `3` means that every third value is\nreleased to the `release_manager`, and invoking `release` ten times will\nrelease the third, sixth, and ninth values. A `periodicity` of\n`datetime.timedelta(hours=3)` means that three hours after the previously\nreleased value the next value is released to the `release_manager`.\n| **Note:** that a `periodicity` of one or a very small `datetime.timedelta` will release every value, making the [`tff.program.PeriodicReleaseManager`](../../tff/program/PeriodicReleaseManager) a noop wrapper around the `release_manager`.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-------------------|-----------------------------------------------------------------------------------------------|\n| `release_manager` | A [`tff.program.ReleaseManager`](../../tff/program/ReleaseManager) used to release values to. |\n| `periodicity` | The interval to release values. Must be a positive integer or `datetime.timedelta`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|---------------------------------------------------------------------|\n| `ValueError` | If `periodicity` is not a positive integer or `datetime.timedelta`. |\n\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `release`\n\n[View source](https://github.com/tensorflow/federated/blob/v0.87.0\nVersion 2.0, January 2004\nLicensed under the Apache License, Version 2.0 (the) \n\n release(\n value, key\n )\n\nReleases `value` from a federated program.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|---------|------------------------------------------------------------------------------------------|\n| `value` | A [`tff.program.ReleasableStructure`](../../tff/program#ReleasableStructure) to release. |\n| `key` | A value used to reference the released `value`. |\n\n\u003cbr /\u003e"]]