mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-01 07:00:13 -05:00
feat: support maxRuns parameter on workers (#195)
* feat: round robin queueing * feat: configurable max runs per worker * fix: address PR review * docs for max runs and group round robin
This commit is contained in:
@@ -23,7 +23,7 @@ class ConcurrencyDemoWorkflowRR:
|
||||
pass
|
||||
|
||||
workflow = ConcurrencyDemoWorkflowRR()
|
||||
worker = hatchet.worker('concurrency-demo-worker-rr', max_threads=1)
|
||||
worker = hatchet.worker('concurrency-demo-worker-rr', max_runs=1)
|
||||
worker.register_workflow(workflow)
|
||||
|
||||
worker.start()
|
||||
@@ -26,7 +26,7 @@ class ConcurrencyDemoWorkflow:
|
||||
print("finished step2")
|
||||
|
||||
workflow = ConcurrencyDemoWorkflow()
|
||||
worker = hatchet.worker('concurrency-demo-worker', max_threads=4)
|
||||
worker = hatchet.worker('concurrency-demo-worker', max_runs=4)
|
||||
worker.register_workflow(workflow)
|
||||
|
||||
worker.start()
|
||||
@@ -1,3 +1,4 @@
|
||||
import time
|
||||
from hatchet_sdk import Hatchet, Context
|
||||
from dotenv import load_dotenv
|
||||
|
||||
@@ -13,7 +14,7 @@ class MyWorkflow:
|
||||
@hatchet.step()
|
||||
def step1(self, context : Context):
|
||||
overrideValue = context.playground("prompt", "You are an AI assistant...")
|
||||
|
||||
time.sleep(5)
|
||||
print("executed step1", context.workflow_input())
|
||||
return {
|
||||
"step1": overrideValue,
|
||||
@@ -22,6 +23,7 @@ class MyWorkflow:
|
||||
@hatchet.step()
|
||||
def step2(self, context : Context):
|
||||
print("executed step2", context.workflow_input())
|
||||
time.sleep(5)
|
||||
return {
|
||||
"step2": "step2",
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ class ManualTriggerWorkflow:
|
||||
|
||||
|
||||
workflow = ManualTriggerWorkflow()
|
||||
worker = hatchet.worker('manual-worker', max_threads=4)
|
||||
worker = hatchet.worker('manual-worker', max_runs=4)
|
||||
worker.register_workflow(workflow)
|
||||
|
||||
worker.start()
|
||||
|
||||
@@ -29,7 +29,7 @@ class MyWorkflow:
|
||||
print("finished step2")
|
||||
|
||||
workflow = MyWorkflow()
|
||||
worker = hatchet.worker('test-worker', max_threads=4)
|
||||
worker = hatchet.worker('test-worker', max_runs=4)
|
||||
worker.register_workflow(workflow)
|
||||
|
||||
worker.start()
|
||||
@@ -21,7 +21,7 @@ class TimeoutWorkflow:
|
||||
raise e
|
||||
|
||||
workflow = TimeoutWorkflow()
|
||||
worker = hatchet.worker('timeout-worker', max_threads=4)
|
||||
worker = hatchet.worker('timeout-worker', max_runs=4)
|
||||
worker.register_workflow(workflow)
|
||||
|
||||
worker.start()
|
||||
Reference in New Issue
Block a user