mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-01-02 22:59:59 -06:00
* feat: initial work wiring up priorities * fix: add default to default prio in the db * feat: wire priority through api on wf creation * feat: extend python test * feat: priority for scheduled workflows * feat: wire priority through python api * feat: more wiring priority through the api * feat: I think it works? * feat: e2e test for priority * it works! * feat: expand tests for default priorities * feat: e2e scheduling test * fix: skip broken test for now * fix: lint * feat: add priority columns to cron and schedule ref tables * feat: update inserts to include prio * feat: wire up more apis * feat: more wiring * feat: wire up more rest api fields * chore: cruft * fix: more wiring * fix: lint * chore: gen + wire up priorities * fix: retries * fix: try changing fixture scope * chore: bump version again * feat: send priority with action payload * fix: generate script * Feat priority ts (#1518) * feat: initial work wiring up priorities * fix: add default to default prio in the db * feat: wire priority through api on wf creation * feat: extend python test * feat: priority for scheduled workflows * feat: wire priority through python api * feat: more wiring priority through the api * feat: I think it works? * feat: e2e test for priority * it works! * feat: expand tests for default priorities * feat: e2e scheduling test * chore: minor version for priority * fix: skip broken test for now * fix: lint * feat: add priority columns to cron and schedule ref tables * feat: update inserts to include prio * feat: wire up more apis * feat: more wiring * feat: wire up more rest api fields * chore: cruft * fix: more wiring * fix: lint * chore: gen + wire up priorities * fix: increase timeout * fix: retries * fix: try changing fixture scope * chore: generate * fix: set schedule priority * feat: priority * fix: move priority to wf * release: 1.2.0 * rm log * fix: import * fix: add priority to step --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com> * fix: add dummy runs to priority test to prevent race conditions * fix: non-breaking field * fix: gen * feat: initial pass at docs * feat: priority in go sdk * feat: initial work on go example * fix: doc examples * fix: proofread * chore: version * feat: go sdk * fix: lint * fix: declarations and add back RunAsChild * fix: child workflows * fix: namespace * fix: faster child workflows * fix: sticky * add back run as child --------- Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com> Co-authored-by: Alexander Belanger <alexander@hatchet.run>
47 lines
862 B
Python
47 lines
862 B
Python
import time
|
|
|
|
from hatchet_sdk import (
|
|
ConcurrencyExpression,
|
|
ConcurrencyLimitStrategy,
|
|
Context,
|
|
EmptyModel,
|
|
Hatchet,
|
|
)
|
|
|
|
hatchet = Hatchet(debug=True)
|
|
|
|
# ❓ Default priority
|
|
DEFAULT_PRIORITY = 1
|
|
SLEEP_TIME = 0.25
|
|
|
|
priority_workflow = hatchet.workflow(
|
|
name="PriorityWorkflow",
|
|
default_priority=DEFAULT_PRIORITY,
|
|
concurrency=ConcurrencyExpression(
|
|
max_runs=1,
|
|
expression="'true'",
|
|
limit_strategy=ConcurrencyLimitStrategy.GROUP_ROUND_ROBIN,
|
|
),
|
|
)
|
|
# !!
|
|
|
|
|
|
@priority_workflow.task()
|
|
def priority_task(input: EmptyModel, ctx: Context) -> None:
|
|
print("Priority:", ctx.priority)
|
|
time.sleep(SLEEP_TIME)
|
|
|
|
|
|
def main() -> None:
|
|
worker = hatchet.worker(
|
|
"priority-worker",
|
|
slots=1,
|
|
workflows=[priority_workflow],
|
|
)
|
|
|
|
worker.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|