flagsmith-common 3.2.0__tar.gz → 3.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/PKG-INFO +2 -2
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/pyproject.toml +2 -2
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/models.py +17 -1
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/LICENSE +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/README.md +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/app.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/cli/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/cli/healthcheck.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/constants.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/logging.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/main.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/docgen.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/start.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/waitfordb.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/metrics.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/middleware.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/templates/docgen-metrics.md +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/urls.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/utils.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/views.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/environments/permissions.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/multivariate/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/multivariate/serializers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/serializers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/versioning/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/versioning/serializers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/conf.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/constants.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/logging.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/metrics.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/middleware.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/gunicorn/utils.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/migrations/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/migrations/helpers/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/migrations/helpers/postgres_helpers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/organisations/permissions.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/projects/permissions.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/prometheus/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/prometheus/utils.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/py.typed +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/test_tools/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/test_tools/plugin.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/test_tools/types.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/test_tools/utils.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/types.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/api.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/constants.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/dynamodb.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/py.typed +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/pydantic_types.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/types.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/flagsmith_schemas/validators.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/admin.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/apps.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/decorators.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/exceptions.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/health.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/managers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/metrics.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0001_initial.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0002_healthcheckmodel.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0003_add_completed_to_task.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0004_recreate_task_indexes.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0005_update_conditional_index_conditions.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0006_auto_20230221_0802.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0007_add_is_locked.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0008_add_get_task_to_process_function.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0009_add_recurring_task_run_first_run_at.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0010_task_priority.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0011_add_priority_to_get_tasks_to_process.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0012_add_locked_at_and_timeout.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0013_add_last_picked_at.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/0008_get_recurring_tasks_to_process.sql +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/0008_get_tasks_to_process.sql +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/0011_get_tasks_to_process.sql +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/0012_get_recurringtasks_to_process.sql +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/0013_get_recurringtasks_to_process.sql +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/__init__.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/monitoring.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/processor.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/py.typed +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/routers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/serializers.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/task_registry.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/task_run_method.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/tasks.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/threads.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/types.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/urls.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/utils.py +0 -0
- {flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flagsmith-common
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.1
|
|
4
4
|
Summary: Flagsmith's common library
|
|
5
5
|
Author: Matthew Elwell, Gagan Trivedi, Kim Gustyr, Zach Aysan, Francesco Lo Franco, Rodrigo López Dato, Evandro Myller, Wadii Zaim
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -22,7 +22,7 @@ Requires-Dist: psycopg2-binary>=2.9,<3 ; extra == 'common-core'
|
|
|
22
22
|
Requires-Dist: requests ; extra == 'common-core'
|
|
23
23
|
Requires-Dist: simplejson>=3,<4 ; extra == 'common-core'
|
|
24
24
|
Requires-Dist: typing-extensions ; extra == 'flagsmith-schemas'
|
|
25
|
-
Requires-Dist: flagsmith-flag-engine>
|
|
25
|
+
Requires-Dist: flagsmith-flag-engine>6 ; extra == 'flagsmith-schemas'
|
|
26
26
|
Requires-Dist: backoff>=2.2.1,<3.0.0 ; extra == 'task-processor'
|
|
27
27
|
Requires-Dist: django>4,<6 ; extra == 'task-processor'
|
|
28
28
|
Requires-Dist: django-health-check ; extra == 'task-processor'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "flagsmith-common"
|
|
3
|
-
version = "3.2.
|
|
3
|
+
version = "3.2.1"
|
|
4
4
|
description = "Flagsmith's common library"
|
|
5
5
|
requires-python = ">=3.11,<4.0"
|
|
6
6
|
dependencies = []
|
|
@@ -27,7 +27,7 @@ optional-dependencies = { test-tools = [
|
|
|
27
27
|
"prometheus-client (>=0.0.16)",
|
|
28
28
|
], flagsmith-schemas = [
|
|
29
29
|
"typing_extensions",
|
|
30
|
-
"flagsmith-flag-engine>
|
|
30
|
+
"flagsmith-flag-engine>6",
|
|
31
31
|
] }
|
|
32
32
|
authors = [
|
|
33
33
|
{ name = "Matthew Elwell" },
|
|
@@ -180,7 +180,23 @@ class RecurringTask(AbstractBaseTask):
|
|
|
180
180
|
# If we have never run this task, then we should execute it only if
|
|
181
181
|
# the time has passed after which we want to ensure this task runs.
|
|
182
182
|
# This allows us to control when intensive tasks should be run.
|
|
183
|
-
|
|
183
|
+
if not self.first_run_time:
|
|
184
|
+
return True
|
|
185
|
+
first_run_today = now.replace(
|
|
186
|
+
hour=self.first_run_time.hour,
|
|
187
|
+
minute=self.first_run_time.minute,
|
|
188
|
+
second=self.first_run_time.second,
|
|
189
|
+
microsecond=self.first_run_time.microsecond,
|
|
190
|
+
)
|
|
191
|
+
# Handle midnight boundary using 12-hour window heuristic.
|
|
192
|
+
time_difference = (now - first_run_today).total_seconds()
|
|
193
|
+
if time_difference > 12 * 3600:
|
|
194
|
+
# first_run_today appears far in the past; it refers to tomorrow.
|
|
195
|
+
return False
|
|
196
|
+
if time_difference < -12 * 3600:
|
|
197
|
+
# first_run_today appears far in the future; it refers to yesterday.
|
|
198
|
+
return True
|
|
199
|
+
return now >= first_run_today
|
|
184
200
|
|
|
185
201
|
# if the last run was at t- run_every, then we should execute it
|
|
186
202
|
if (timezone.now() - last_task_run.started_at) >= self.run_every:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/docgen.py
RENAMED
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/start.py
RENAMED
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/management/commands/waitfordb.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/core/templates/docgen-metrics.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/multivariate/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/multivariate/serializers.py
RENAMED
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/versioning/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/features/versioning/serializers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/common/migrations/helpers/postgres_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-3.2.0 → flagsmith_common-3.2.1}/src/task_processor/migrations/sql/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|