wexample-wex-addon-process 2.0.0__tar.gz → 2.1.0__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.
Files changed (31) hide show
  1. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/PKG-INFO +4 -4
  2. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/README.md +2 -2
  3. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/pyproject.toml +2 -2
  4. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/record/record_file.py +10 -0
  5. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/__init__.py +0 -0
  6. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/commands/__init__.py +0 -0
  7. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/commands/run/__init__.py +0 -0
  8. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/commands/run/execute.py +0 -0
  9. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/commands/worker/__init__.py +0 -0
  10. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/commands/worker/start.py +0 -0
  11. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/const/__init__.py +0 -0
  12. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/const/process.py +0 -0
  13. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_addon_manager.py +0 -0
  14. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/__init__.py +0 -0
  15. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/abstract_process_type.py +0 -0
  16. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/family/__init__.py +0 -0
  17. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/family/abstract_process_type_family.py +0 -0
  18. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/family/file_state_process_type_family.py +0 -0
  19. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/filestate/__init__.py +0 -0
  20. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/filestate/file_state_option_process_type.py +0 -0
  21. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/filestate/file_state_report_process_type.py +0 -0
  22. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/process_context.py +0 -0
  23. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/process_type_registry.py +0 -0
  24. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/process_type/selection.py +0 -0
  25. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/py.typed +0 -0
  26. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/record/__init__.py +0 -0
  27. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/runner/__init__.py +0 -0
  28. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/runner/process_runner.py +0 -0
  29. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/service/__init__.py +0 -0
  30. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/src/wexample_wex_addon_process/service/process_run_service.py +0 -0
  31. {wexample_wex_addon_process-2.0.0 → wexample_wex_addon_process-2.1.0}/tests/.gitkeep +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wexample-wex-addon-process
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: Executes process runs defined on disk—either directly or by consuming them from a queue as a worker—against filestate selections
5
5
  Author-Email: weeger <contact@wexample.com>
6
6
  License: MIT
@@ -10,7 +10,7 @@ Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.10
11
11
  Requires-Dist: wexample-file>=9.2.0
12
12
  Requires-Dist: wexample-queue>=1.1.0
13
- Requires-Dist: wexample-wex-addon-app>=31.0.0
13
+ Requires-Dist: wexample-wex-addon-app>=31.1.0
14
14
  Provides-Extra: dev
15
15
  Requires-Dist: pytest; extra == "dev"
16
16
  Requires-Dist: pytest-cov; extra == "dev"
@@ -18,7 +18,7 @@ Description-Content-Type: text/markdown
18
18
 
19
19
  # wex-addon-process
20
20
 
21
- Version: 2.0.0
21
+ Version: 2.1.0
22
22
 
23
23
  `wexample-wex-addon-process` runs the treatments a board declares. A *process* says what to run and on which selection of files; a *run* is one execution of it, asked for by writing a record and picked up by a worker.
24
24
 
@@ -275,7 +275,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
275
275
 
276
276
  - wexample-file: >=9.2.0
277
277
  - wexample-queue: >=1.1.0
278
- - wexample-wex-addon-app: >=31.0.0
278
+ - wexample-wex-addon-app: >=31.1.0
279
279
 
280
280
  ## Versioning & Compatibility Policy
281
281
 
@@ -1,6 +1,6 @@
1
1
  # wex-addon-process
2
2
 
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
 
5
5
  `wexample-wex-addon-process` runs the treatments a board declares. A *process* says what to run and on which selection of files; a *run* is one execution of it, asked for by writing a record and picked up by a worker.
6
6
 
@@ -257,7 +257,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
257
257
 
258
258
  - wexample-file: >=9.2.0
259
259
  - wexample-queue: >=1.1.0
260
- - wexample-wex-addon-app: >=31.0.0
260
+ - wexample-wex-addon-app: >=31.1.0
261
261
 
262
262
  ## Versioning & Compatibility Policy
263
263
 
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "wexample-wex-addon-process"
9
- version = "2.0.0"
9
+ version = "2.1.0"
10
10
  description = "Executes process runs defined on disk—either directly or by consuming them from a queue as a worker—against filestate selections"
11
11
  authors = [
12
12
  { name = "weeger", email = "contact@wexample.com" },
@@ -20,7 +20,7 @@ classifiers = [
20
20
  dependencies = [
21
21
  "wexample-file>=9.2.0",
22
22
  "wexample-queue>=1.1.0",
23
- "wexample-wex-addon-app>=31.0.0",
23
+ "wexample-wex-addon-app>=31.1.0",
24
24
  ]
25
25
 
26
26
  [project.readme]
@@ -43,3 +43,13 @@ def write_record(path: Path, values: dict[str, Any]) -> None:
43
43
  allow_unicode=True,
44
44
  )
45
45
  )
46
+
47
+ # Written from both ends over a shared bind mount — the board web as root,
48
+ # a worker as its own user — so each writer leaves the record open for the
49
+ # other rather than at a mode only its own uid can rewrite. Best-effort:
50
+ # chmod is the owner's to make, and a writer that is not the owner is
51
+ # writing a file the owner already opened wide enough to reach.
52
+ import contextlib
53
+
54
+ with contextlib.suppress(PermissionError):
55
+ path.chmod(0o666)