sentry-arroyo 2.29.6__py3-none-any.whl → 2.29.7__py3-none-any.whl
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.
- arroyo/processing/strategies/run_task_with_multiprocessing.py +17 -6
- {sentry_arroyo-2.29.6.dist-info → sentry_arroyo-2.29.7.dist-info}/METADATA +1 -1
- {sentry_arroyo-2.29.6.dist-info → sentry_arroyo-2.29.7.dist-info}/RECORD +6 -6
- {sentry_arroyo-2.29.6.dist-info → sentry_arroyo-2.29.7.dist-info}/WHEEL +0 -0
- {sentry_arroyo-2.29.6.dist-info → sentry_arroyo-2.29.7.dist-info}/licenses/LICENSE +0 -0
- {sentry_arroyo-2.29.6.dist-info → sentry_arroyo-2.29.7.dist-info}/top_level.txt +0 -0
|
@@ -41,6 +41,7 @@ DEFAULT_INPUT_BLOCK_SIZE = 16 * 1024 * 1024
|
|
|
41
41
|
DEFAULT_OUTPUT_BLOCK_SIZE = 16 * 1024 * 1024
|
|
42
42
|
|
|
43
43
|
LOG_THRESHOLD_TIME = 20 # In seconds
|
|
44
|
+
FAIL_THRESHOLD_TIME = 180 # In seconds
|
|
44
45
|
|
|
45
46
|
|
|
46
47
|
class ChildProcessTerminated(RuntimeError):
|
|
@@ -600,6 +601,7 @@ class RunTaskWithMultiprocessing(
|
|
|
600
601
|
"arroyo.strategies.run_task_with_multiprocessing.batches_in_progress",
|
|
601
602
|
)
|
|
602
603
|
self.__pool_waiting_time: Optional[float] = None
|
|
604
|
+
self.__pool_waiting_log_time: Optional[float] = None
|
|
603
605
|
self.__metrics.gauge(
|
|
604
606
|
"arroyo.strategies.run_task_with_multiprocessing.processes", num_processes
|
|
605
607
|
)
|
|
@@ -673,22 +675,31 @@ class RunTaskWithMultiprocessing(
|
|
|
673
675
|
if deadline is None or deadline > time.time():
|
|
674
676
|
continue
|
|
675
677
|
break
|
|
676
|
-
except multiprocessing.TimeoutError:
|
|
677
|
-
|
|
678
|
-
|
|
678
|
+
except multiprocessing.TimeoutError as err:
|
|
679
|
+
current_time = time.time()
|
|
680
|
+
if (
|
|
681
|
+
self.__pool_waiting_time is None
|
|
682
|
+
or self.__pool_waiting_log_time is None
|
|
683
|
+
):
|
|
684
|
+
self.__pool_waiting_time = current_time
|
|
685
|
+
self.__pool_waiting_log_time = current_time
|
|
679
686
|
else:
|
|
680
|
-
current_time
|
|
681
|
-
if current_time - self.__pool_waiting_time > LOG_THRESHOLD_TIME:
|
|
687
|
+
if current_time - self.__pool_waiting_log_time > LOG_THRESHOLD_TIME:
|
|
682
688
|
logger.warning(
|
|
683
689
|
"Waited on the process pool longer than %d seconds. Waiting for %d results. Pool: %r",
|
|
684
690
|
LOG_THRESHOLD_TIME,
|
|
685
691
|
len(self.__processes),
|
|
686
692
|
self.__pool,
|
|
687
693
|
)
|
|
688
|
-
self.
|
|
694
|
+
self.__pool_waiting_log_time = current_time
|
|
695
|
+
if current_time - self.__pool_waiting_time > FAIL_THRESHOLD_TIME:
|
|
696
|
+
raise multiprocessing.TimeoutError(
|
|
697
|
+
f"Waited on process pool for {FAIL_THRESHOLD_TIME} seconds giving up."
|
|
698
|
+
) from err
|
|
689
699
|
break
|
|
690
700
|
else:
|
|
691
701
|
self.__pool_waiting_time = None
|
|
702
|
+
self.__pool_waiting_log_time = None
|
|
692
703
|
|
|
693
704
|
def __check_for_results_impl(self, timeout: Optional[float] = None) -> None:
|
|
694
705
|
(
|
|
@@ -30,7 +30,7 @@ arroyo/processing/strategies/produce.py,sha256=w4GI7KC-CGn2bLG_qPcuKJo0EbZ4PF2TJ
|
|
|
30
30
|
arroyo/processing/strategies/reduce.py,sha256=xv9bYisgHHyS8fVD1PdGi4TJsaK-4RAhMEDh4WHhYfI,3933
|
|
31
31
|
arroyo/processing/strategies/run_task.py,sha256=MGe2UcIWN7FkPc9plKzRVUNbZ7Sk0jWjw1z2vVOFI_I,2160
|
|
32
32
|
arroyo/processing/strategies/run_task_in_threads.py,sha256=f1sb2AG-BLz11X78jfhtERIkdFogrV8vtdT3pyJdkx0,6144
|
|
33
|
-
arroyo/processing/strategies/run_task_with_multiprocessing.py,sha256=
|
|
33
|
+
arroyo/processing/strategies/run_task_with_multiprocessing.py,sha256=a9zo8kgOkX7V-4tE1nc1bpr0XxPyWBiqO9Ao3GU-cfY,36937
|
|
34
34
|
arroyo/processing/strategies/unfold.py,sha256=bi47pwmKGT0Irsx0HdB7Bhc5hb-yYqLF_xcv3g1ewTk,4231
|
|
35
35
|
arroyo/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
arroyo/utils/clock.py,sha256=r2EMO4nL5qIb1xnAd1sTAk2yK1UltyUi04lk5BqWKIc,944
|
|
@@ -46,7 +46,7 @@ examples/transform_and_produce/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
46
46
|
examples/transform_and_produce/batched.py,sha256=st2R6qTneAtV0JFbKP30Ti3sJDYj8Jkbmta9JckKdZU,2636
|
|
47
47
|
examples/transform_and_produce/script.py,sha256=8kSMIjQNqGYEVyE0PvrfJh-a_UYCrJSstTp_De7kyyg,2306
|
|
48
48
|
examples/transform_and_produce/simple.py,sha256=H7xqxItjl4tx34wVW5dy6mB9G39QucAtxkJSBzVmjgA,1637
|
|
49
|
-
sentry_arroyo-2.29.
|
|
49
|
+
sentry_arroyo-2.29.7.dist-info/licenses/LICENSE,sha256=0Ng3MFdEcnz0sVD1XvGBBzbavvNp_7OAM5yVObB46jU,10829
|
|
50
50
|
tests/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
51
|
tests/backends/mixins.py,sha256=sfNyE0VTeiD3GHOnBYl-9urvPuURI2G1BWke0cz7Dvc,20445
|
|
52
52
|
tests/backends/test_commit.py,sha256=iTHfK1qsBxim0XwxgMvNNSMqDUMEHoYkYBDcgxGBFbs,831
|
|
@@ -73,7 +73,7 @@ tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
73
73
|
tests/utils/test_concurrent.py,sha256=Gwdzym2UZ1HO3rhOSGmzxImWcLFygY8P7MXHT3Q0xTE,455
|
|
74
74
|
tests/utils/test_metrics.py,sha256=bI0EtGgPokMQyEqX58i0-8zvLfxRP2nWaWr2wLMaJ_o,917
|
|
75
75
|
tests/utils/test_retries.py,sha256=AxJLkXWeL9AjHv_p1n0pe8CXXJp24ZQIuYBHfNcmiz4,3075
|
|
76
|
-
sentry_arroyo-2.29.
|
|
77
|
-
sentry_arroyo-2.29.
|
|
78
|
-
sentry_arroyo-2.29.
|
|
79
|
-
sentry_arroyo-2.29.
|
|
76
|
+
sentry_arroyo-2.29.7.dist-info/METADATA,sha256=bdCKRaGtvcV6wqgtc6qzo1aHuKWhBw_dorB01JhHlRA,2208
|
|
77
|
+
sentry_arroyo-2.29.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
78
|
+
sentry_arroyo-2.29.7.dist-info/top_level.txt,sha256=DVdMZKysL_iIxm5aY0sYgZtP5ZXMg9YBaBmGQHVmDXA,22
|
|
79
|
+
sentry_arroyo-2.29.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|