ddeutil-workflow 0.0.52__tar.gz → 0.0.54__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 (68) hide show
  1. {ddeutil_workflow-0.0.52/src/ddeutil_workflow.egg-info → ddeutil_workflow-0.0.54}/PKG-INFO +1 -7
  2. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/README.md +0 -6
  3. ddeutil_workflow-0.0.54/src/ddeutil/workflow/__about__.py +1 -0
  4. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/api.py +1 -1
  5. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/routes/job.py +2 -2
  6. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/job.py +112 -160
  7. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/stages.py +664 -388
  8. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/utils.py +5 -4
  9. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/workflow.py +105 -230
  10. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54/src/ddeutil_workflow.egg-info}/PKG-INFO +1 -7
  11. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil_workflow.egg-info/SOURCES.txt +3 -3
  12. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_job_exec.py +116 -42
  13. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_job_exec_strategy.py +64 -36
  14. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_reusables_template.py +5 -0
  15. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_stage.py +3 -3
  16. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_stage_handler_exec.py +104 -22
  17. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_utils.py +1 -1
  18. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow.py +3 -4
  19. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow_exec.py +187 -80
  20. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow_exec_job.py +27 -4
  21. ddeutil_workflow-0.0.52/src/ddeutil/workflow/__about__.py +0 -1
  22. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/LICENSE +0 -0
  23. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/pyproject.toml +0 -0
  24. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/setup.cfg +0 -0
  25. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/__cron.py +0 -0
  26. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/__init__.py +0 -0
  27. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/__main__.py +0 -0
  28. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/__types.py +0 -0
  29. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/__init__.py +0 -0
  30. /ddeutil_workflow-0.0.52/src/ddeutil/workflow/api/log.py → /ddeutil_workflow-0.0.54/src/ddeutil/workflow/api/logs.py +0 -0
  31. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/routes/__init__.py +0 -0
  32. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/routes/logs.py +0 -0
  33. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/routes/schedules.py +0 -0
  34. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/api/routes/workflows.py +0 -0
  35. /ddeutil_workflow-0.0.52/src/ddeutil/workflow/api/repeat.py → /ddeutil_workflow-0.0.54/src/ddeutil/workflow/api/utils.py +0 -0
  36. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/conf.py +0 -0
  37. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/cron.py +0 -0
  38. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/exceptions.py +0 -0
  39. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/logs.py +0 -0
  40. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/params.py +0 -0
  41. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/result.py +0 -0
  42. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/reusables.py +0 -0
  43. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil/workflow/scheduler.py +0 -0
  44. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil_workflow.egg-info/dependency_links.txt +0 -0
  45. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil_workflow.egg-info/requires.txt +0 -0
  46. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/src/ddeutil_workflow.egg-info/top_level.txt +0 -0
  47. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test__cron.py +0 -0
  48. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test__regex.py +0 -0
  49. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_conf.py +0 -0
  50. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_cron_on.py +0 -0
  51. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_job.py +0 -0
  52. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_logs_audit.py +0 -0
  53. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_logs_trace.py +0 -0
  54. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_params.py +0 -0
  55. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_release.py +0 -0
  56. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_release_queue.py +0 -0
  57. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_result.py +0 -0
  58. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_reusables_call_tag.py +0 -0
  59. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_reusables_template_filter.py +0 -0
  60. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_schedule.py +0 -0
  61. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_schedule_pending.py +0 -0
  62. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_schedule_tasks.py +0 -0
  63. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_schedule_workflow.py +0 -0
  64. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_scheduler_control.py +0 -0
  65. /ddeutil_workflow-0.0.52/tests/test_job_strategy.py → /ddeutil_workflow-0.0.54/tests/test_strategy.py +0 -0
  66. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow_exec_poke.py +0 -0
  67. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow_exec_release.py +0 -0
  68. {ddeutil_workflow-0.0.52 → ddeutil_workflow-0.0.54}/tests/test_workflow_task.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ddeutil-workflow
3
- Version: 0.0.52
3
+ Version: 0.0.54
4
4
  Summary: Lightweight workflow orchestration
5
5
  Author-email: ddeutils <korawich.anu@gmail.com>
6
6
  License: MIT
@@ -62,12 +62,6 @@ by a `.yaml` template.
62
62
  > use the workflow stage to process any large volume data which use a lot of compute
63
63
  > resource :cold_sweat:.
64
64
 
65
- In my opinion, I think it should not create duplicate workflow codes if I can
66
- write with dynamic input parameters on the one template workflow that just change
67
- the input parameters per use-case instead.
68
- This way I can handle a lot of logical workflows in our orgs with only metadata
69
- configuration. It called **Metadata Driven Data Workflow**.
70
-
71
65
  ---
72
66
 
73
67
  **:pushpin: <u>Rules of This Workflow engine</u>**:
@@ -17,12 +17,6 @@ by a `.yaml` template.
17
17
  > use the workflow stage to process any large volume data which use a lot of compute
18
18
  > resource :cold_sweat:.
19
19
 
20
- In my opinion, I think it should not create duplicate workflow codes if I can
21
- write with dynamic input parameters on the one template workflow that just change
22
- the input parameters per use-case instead.
23
- This way I can handle a lot of logical workflows in our orgs with only metadata
24
- configuration. It called **Metadata Driven Data Workflow**.
25
-
26
20
  ---
27
21
 
28
22
  **:pushpin: <u>Rules of This Workflow engine</u>**:
@@ -0,0 +1 @@
1
+ __version__: str = "0.0.54"
@@ -24,8 +24,8 @@ from ..conf import api_config, config
24
24
  from ..logs import get_logger
25
25
  from ..scheduler import ReleaseThread, ReleaseThreads
26
26
  from ..workflow import ReleaseQueue, WorkflowTask
27
- from .repeat import repeat_at
28
27
  from .routes import job, log
28
+ from .utils import repeat_at
29
29
 
30
30
  load_dotenv()
31
31
  logger = get_logger("uvicorn.error")
@@ -39,7 +39,7 @@ async def job_execute(
39
39
  job: Job,
40
40
  params: dict[str, Any],
41
41
  ):
42
- """Execute job via API."""
42
+ """Execute job via RestAPI."""
43
43
  rs: Result = Result(
44
44
  context=result.context,
45
45
  run_id=result.run_id,
@@ -56,7 +56,7 @@ async def job_execute(
56
56
  to=context,
57
57
  )
58
58
  except JobException as err:
59
- rs.trace.error(f"[WORKFLOW]: {err.__class__.__name__}: {err}")
59
+ rs.trace.error(f"[JOB]: {err.__class__.__name__}: {err}")
60
60
 
61
61
  return {
62
62
  "message": "Start execute job via API.",