Skip to content

Commit d241f37

Browse files
stephenmcconkeybmjenbmjen
authored
[FFM-3685]: Add method to set poll interval, enforce minimum poll time of 60s (#32)
* Add method to set poll interval, enforce minimum poll time of 60s * Fix linting issue * Update polling log message * fixes linting Co-authored-by: bmjen <[email protected]> Co-authored-by: Bryan Jen <[email protected]>
1 parent 08ed923 commit d241f37

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

featureflags/config.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@
1616

1717
class Config(object):
1818
def __init__(
19-
self,
20-
base_url: str = BASE_URL,
21-
events_url: str = EVENTS_URL,
22-
pull_interval: int = PULL_INTERVAL,
23-
persist_interval: int = PERSIST_INTERVAL,
24-
events_sync_interval: int = EVENTS_SYNC_INTERVAL,
25-
cache: Cache = None,
26-
store: object = None,
27-
enable_stream: bool = True,
28-
enable_analytics: bool = True
19+
self,
20+
base_url: str = BASE_URL,
21+
events_url: str = EVENTS_URL,
22+
pull_interval: int = PULL_INTERVAL,
23+
persist_interval: int = PERSIST_INTERVAL,
24+
events_sync_interval: int = EVENTS_SYNC_INTERVAL,
25+
cache: Cache = None,
26+
store: object = None,
27+
enable_stream: bool = True,
28+
enable_analytics: bool = True
2929
):
3030
self.base_url = base_url
3131
self.events_url = events_url
@@ -69,3 +69,10 @@ def func(config: Config) -> None:
6969
config.enable_analytics = value
7070

7171
return func
72+
73+
74+
def with_pull_interval(value: int) -> Callable:
75+
def func(config: Config) -> None:
76+
config.pull_interval = value
77+
78+
return func

featureflags/polling.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ def __init__(self, client: AuthenticatedClient, config: Config,
2828

2929
def run(self):
3030
if not self.__running:
31+
if self.__config.pull_interval < 60:
32+
log.warning("Pull Interval must be greater than or equal "
33+
"to 60 seconds, was: " +
34+
str(self.__config.pull_interval) +
35+
" setting to 60")
36+
self.__config.pull_interval = 60
3137
log.info("Starting PollingProcessor with request interval: " +
3238
str(self.__config.pull_interval))
3339
self.__running = True

0 commit comments

Comments
 (0)