File tree 3 files changed +21
-15
lines changed
3 files changed +21
-15
lines changed Original file line number Diff line number Diff line change 7
7
- " releases/*"
8
8
9
9
jobs :
10
+
11
+ nightly :
12
+ uses : ./.github/workflows/run-bench.yml
13
+
10
14
# Build and test the project
11
15
build-lint-test :
12
16
strategy :
Original file line number Diff line number Diff line change 55
55
- run : poe run-bench --workflow-count 100 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
56
56
- run : poe run-bench --workflow-count 100 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
57
57
- run : poe run-bench --workflow-count 100 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
58
-
59
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 1000 --max-concurrent 1000 ${{ inputs.sandbox-arg }}
60
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 1000 --max-concurrent 1000 ${{ inputs.sandbox-arg }}
61
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 1000 --max-concurrent 1000 ${{ inputs.sandbox-arg }}
62
-
63
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
64
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
65
- - run : poe run-bench --workflow-count 1000 --max-cached-workflows 100 --max-concurrent 100 ${{ inputs.sandbox-arg }}
66
-
67
- - run : poe run-bench --workflow-count 10000 --max-cached-workflows 10000 --max-concurrent 10000 ${{ inputs.sandbox-arg }}
68
- - run : poe run-bench --workflow-count 10000 --max-cached-workflows 10000 --max-concurrent 10000 ${{ inputs.sandbox-arg }}
69
-
70
- - run : poe run-bench --workflow-count 10000 --max-cached-workflows 1000 --max-concurrent 1000 ${{ inputs.sandbox-arg }}
71
- - run : poe run-bench --workflow-count 10000 --max-cached-workflows 1000 --max-concurrent 1000 ${{ inputs.sandbox-arg }}
Original file line number Diff line number Diff line change @@ -31,6 +31,15 @@ async def bench_activity(name: str) -> str:
31
31
return f"Hello, { name } !"
32
32
33
33
34
+ @workflow .defn
35
+ class DeadlockInterruptibleWorkflow :
36
+ @workflow .run
37
+ async def run (self ) -> None :
38
+ # Infinite loop, which is interruptible via PyThreadState_SetAsyncExc
39
+ while True :
40
+ pass
41
+
42
+
34
43
async def main ():
35
44
logging .basicConfig (
36
45
format = "%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s" ,
@@ -86,6 +95,13 @@ async def report_mem():
86
95
logger .debug ("Starting %s workflows" , args .workflow_count )
87
96
pre_start_seconds = time .monotonic ()
88
97
handles = [
98
+ await env .client .start_workflow (
99
+ DeadlockInterruptibleWorkflow .run ,
100
+ id = f"deadlock-interruptible-workflow-{ i } -{ uuid .uuid4 ()} " ,
101
+ task_queue = task_queue ,
102
+ )
103
+ for i in range (args .workflow_count )
104
+ ] + [
89
105
await env .client .start_workflow (
90
106
BenchWorkflow .run ,
91
107
f"user-{ i } " ,
@@ -101,7 +117,7 @@ async def report_mem():
101
117
async with Worker (
102
118
env .client ,
103
119
task_queue = task_queue ,
104
- workflows = [BenchWorkflow ],
120
+ workflows = [BenchWorkflow , DeadlockInterruptibleWorkflow ],
105
121
activities = [bench_activity ],
106
122
workflow_runner = SandboxedWorkflowRunner ()
107
123
if args .sandbox
You can’t perform that action at this time.
0 commit comments