parsl 2025.6.2__py3-none-any.whl → 2025.6.9__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.
- parsl/tests/test_monitoring/test_basic.py +25 -8
- parsl/version.py +1 -1
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/METADATA +2 -2
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/RECORD +12 -12
- {parsl-2025.6.2.data → parsl-2025.6.9.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2025.6.2.data → parsl-2025.6.9.data}/scripts/interchange.py +0 -0
- {parsl-2025.6.2.data → parsl-2025.6.9.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2025.6.2.data → parsl-2025.6.9.data}/scripts/process_worker_pool.py +0 -0
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/LICENSE +0 -0
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/WHEEL +0 -0
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/entry_points.txt +0 -0
- {parsl-2025.6.2.dist-info → parsl-2025.6.9.dist-info}/top_level.txt +0 -0
@@ -4,8 +4,9 @@ import time
|
|
4
4
|
import pytest
|
5
5
|
|
6
6
|
import parsl
|
7
|
-
from parsl import HighThroughputExecutor
|
7
|
+
from parsl import HighThroughputExecutor, ThreadPoolExecutor
|
8
8
|
from parsl.config import Config
|
9
|
+
from parsl.executors.status_handling import BlockProviderExecutor
|
9
10
|
from parsl.monitoring import MonitoringHub
|
10
11
|
|
11
12
|
|
@@ -23,6 +24,13 @@ def this_app():
|
|
23
24
|
# The below fresh configs are for use in parametrization, and should return
|
24
25
|
# a configuration that is suitably configured for monitoring.
|
25
26
|
|
27
|
+
def thread_config():
|
28
|
+
c = Config(executors=[ThreadPoolExecutor()],
|
29
|
+
monitoring=MonitoringHub(hub_address="localhost",
|
30
|
+
resource_monitoring_interval=0))
|
31
|
+
return c
|
32
|
+
|
33
|
+
|
26
34
|
def htex_config():
|
27
35
|
"""This config will use htex's default htex-specific monitoring radio mode"""
|
28
36
|
from parsl.tests.configs.htex_local_alternate import fresh_config
|
@@ -121,19 +129,28 @@ def row_counts_parametrized(tmpd_cwd, fresh_config):
|
|
121
129
|
(c, ) = result.first()
|
122
130
|
assert c == 4
|
123
131
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
132
|
+
if isinstance(config.executors[0], BlockProviderExecutor):
|
133
|
+
# This case assumes that a BlockProviderExecutor is actually being
|
134
|
+
# used with blocks. It might not be (for example, Work Queue and
|
135
|
+
# Task Vine can be configured to launch their own workers; and it
|
136
|
+
# is a valid (although occasional) use of htex to launch executors
|
137
|
+
# manually.
|
138
|
+
# If you just added test cases like that and are wondering why this
|
139
|
+
# assert is failing, that might be why.
|
140
|
+
result = connection.execute(text("SELECT COUNT(*) FROM block"))
|
141
|
+
(c, ) = result.first()
|
142
|
+
assert c >= 2, "There should be at least two block statuses from a BlockProviderExecutor"
|
129
143
|
|
130
144
|
result = connection.execute(text("SELECT COUNT(*) FROM resource"))
|
131
145
|
(c, ) = result.first()
|
132
|
-
|
146
|
+
if isinstance(config.executors[0], ThreadPoolExecutor):
|
147
|
+
assert c == 0, "Thread pool executors should not be recording resources"
|
148
|
+
else:
|
149
|
+
assert c >= 1, "Task execution should have created some resource records"
|
133
150
|
|
134
151
|
|
135
152
|
@pytest.mark.local
|
136
|
-
@pytest.mark.parametrize("fresh_config", [htex_config, htex_filesystem_config, htex_udp_config])
|
153
|
+
@pytest.mark.parametrize("fresh_config", [thread_config, htex_config, htex_filesystem_config, htex_udp_config])
|
137
154
|
def test_row_counts_base(tmpd_cwd, fresh_config):
|
138
155
|
row_counts_parametrized(tmpd_cwd, fresh_config)
|
139
156
|
|
parsl/version.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: parsl
|
3
|
-
Version: 2025.6.
|
3
|
+
Version: 2025.6.9
|
4
4
|
Summary: Simple data dependent workflows in Python
|
5
5
|
Home-page: https://github.com/Parsl/parsl
|
6
|
-
Download-URL: https://github.com/Parsl/parsl/archive/2025.06.
|
6
|
+
Download-URL: https://github.com/Parsl/parsl/archive/2025.06.09.tar.gz
|
7
7
|
Author: The Parsl Team
|
8
8
|
Author-email: parsl@googlegroups.com
|
9
9
|
License: Apache 2.0
|
@@ -8,7 +8,7 @@ parsl/multiprocessing.py,sha256=JNAfgdZvQSsxVyUp229OOUqWwf_ZUhpmw8X9CdF3i6k,3614
|
|
8
8
|
parsl/process_loggers.py,sha256=uQ7Gd0W72Jz7rrcYlOMfLsAEhkRltxXJL2MgdduJjEw,1136
|
9
9
|
parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
parsl/utils.py,sha256=codTX6_KLhgeTwNkRzc1lo4bgc1M93eJ-lkqOO98fvk,14331
|
11
|
-
parsl/version.py,sha256=
|
11
|
+
parsl/version.py,sha256=V1z-I8PIxtzsopTNaicGQyPvTgxgd_XObWB24hDcXS4,131
|
12
12
|
parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
parsl/app/app.py,sha256=0gbM4AH2OtFOLsv07I5nglpElcwMSOi-FzdZZfrk7So,8532
|
14
14
|
parsl/app/bash.py,sha256=jm2AvePlCT9DZR7H_4ANDWxatp5dN_22FUlT_gWhZ-g,5528
|
@@ -338,7 +338,7 @@ parsl/tests/test_htex/test_worker_failure.py,sha256=Uz-RHI-LK78FMjXUvrUFmo4iYfmp
|
|
338
338
|
parsl/tests/test_htex/test_zmq_binding.py,sha256=G7D2_p9vOekgpB50MBiPRwtIz98DEkUpMqA3rdwzYTQ,4397
|
339
339
|
parsl/tests/test_monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
340
340
|
parsl/tests/test_monitoring/test_app_names.py,sha256=A-mOMCVhZDnUyJp32fsTUkHdcyval8o7WPEWacDkbD4,2208
|
341
|
-
parsl/tests/test_monitoring/test_basic.py,sha256=
|
341
|
+
parsl/tests/test_monitoring/test_basic.py,sha256=QJS0SJkf1KV6A4UvikBu-wAIcBJZVoVe-BSVWgyFonI,6180
|
342
342
|
parsl/tests/test_monitoring/test_db_locks.py,sha256=3s3c1xhKo230ZZIJ3f1Ca4U7LcEdXnanOGVXQyNlk2U,2895
|
343
343
|
parsl/tests/test_monitoring/test_exit_helper.py,sha256=ob8Qd1hlkq_mowygfPetTnYN9LfuqeXHRpPilSfDSog,1232
|
344
344
|
parsl/tests/test_monitoring/test_fuzz_zmq.py,sha256=SQNNHhXxHB_LwW4Ujqkgut3lbG0XVW-hliPagQQpiTc,3449
|
@@ -460,13 +460,13 @@ parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
460
460
|
parsl/usage_tracking/api.py,sha256=iaCY58Dc5J4UM7_dJzEEs871P1p1HdxBMtNGyVdzc9g,1821
|
461
461
|
parsl/usage_tracking/levels.py,sha256=xbfzYEsd55KiZJ-mzNgPebvOH4rRHum04hROzEf41tU,291
|
462
462
|
parsl/usage_tracking/usage.py,sha256=hbMo5BYgIWqMcFWqN-HYP1TbwNrTonpv-usfwnCFJKY,9212
|
463
|
-
parsl-2025.6.
|
464
|
-
parsl-2025.6.
|
465
|
-
parsl-2025.6.
|
466
|
-
parsl-2025.6.
|
467
|
-
parsl-2025.6.
|
468
|
-
parsl-2025.6.
|
469
|
-
parsl-2025.6.
|
470
|
-
parsl-2025.6.
|
471
|
-
parsl-2025.6.
|
472
|
-
parsl-2025.6.
|
463
|
+
parsl-2025.6.9.data/scripts/exec_parsl_function.py,sha256=YXKVVIa4zXmOtz-0Ca4E_5nQfN_3S2bh2tB75uZZB4w,7774
|
464
|
+
parsl-2025.6.9.data/scripts/interchange.py,sha256=_FRB1LxkL9vnT3y24NTXHOzotMlDJEXwF5ZZCjGmcww,28909
|
465
|
+
parsl-2025.6.9.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
|
466
|
+
parsl-2025.6.9.data/scripts/process_worker_pool.py,sha256=__gFeFQJpV5moRofj3WKQCnKp6gmzieXjzkmzVuTmX4,41123
|
467
|
+
parsl-2025.6.9.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
468
|
+
parsl-2025.6.9.dist-info/METADATA,sha256=yAjU-1rMVRSwg9zcdOsAHwW9IOAEkzyILXM2AbEgRhM,4054
|
469
|
+
parsl-2025.6.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
470
|
+
parsl-2025.6.9.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
|
471
|
+
parsl-2025.6.9.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
|
472
|
+
parsl-2025.6.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|