mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2025-12-30 13:19:44 -06:00
38 lines
568 B
Python
38 lines
568 B
Python
from dataclasses import dataclass
|
|
from typing import Literal
|
|
|
|
from hatchet_sdk import Context, EmptyModel, Hatchet
|
|
|
|
|
|
# > Dataclasses
|
|
@dataclass
|
|
class Input:
|
|
name: str
|
|
|
|
|
|
@dataclass
|
|
class Output:
|
|
message: str
|
|
|
|
|
|
|
|
|
|
hatchet = Hatchet(debug=True)
|
|
|
|
|
|
# > Task using dataclasses
|
|
@hatchet.task(input_validator=Input)
|
|
def say_hello(input: Input, ctx: Context) -> Output:
|
|
return Output(message=f"Hello, {input.name}!")
|
|
|
|
|
|
|
|
|
|
def main() -> None:
|
|
worker = hatchet.worker("test-worker", workflows=[say_hello])
|
|
worker.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|