mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-01-01 14:19:54 -06:00
* fix: version * feat: first pass at new base rest client * fix: typing * fix: base client cleanup * feat: basic runs client * fix: finally!! * feat: helper functions for uuid and metadata conversion and api format fix * fix: patches * feat: run list apis * feat: add bulk replay and cancel * feat: replays and cancels * feat: result getter * feat: cron client * feat: scheduled workflows * feat: rate limit * refactor: don't export admin client anymore * feat: add a bunch more clients and remove the old `rest` thing * fix: scheduled workflow trigger time * fix: emptymodel default * refactor: stop passing pooled workflow run listener around everywhere * fix: more cleanup of context * refactor: remove unused stuff from runner * unwind: keep passing listeners around * fix: rm some unused stuff * fix: example * feat: metrics api * feat: a couple tests * feat: more default emptymodels * fix: tests * [Docs]: Misc. Python Migration Guide Issues, Rate limits, V1 new features (#1417) * fix: misc python migration guide * feat: rate limits docs * fix: lint * fix: lint * feat: skeleton * feat: add a bunch of docs * feat: bulk replay and cancel docs * fix: add task output to example * fix: otel docs + naming * fix: lint * fix: rm timeout * feat: initial python sdk guide * fix: raise on dupe on failure or on success * fix: dags docs * feat: 1.0.1
41 lines
909 B
Python
41 lines
909 B
Python
from pydantic import BaseModel
|
|
|
|
from hatchet_sdk import Hatchet
|
|
|
|
hatchet = Hatchet()
|
|
|
|
|
|
class DynamicCronInput(BaseModel):
|
|
name: str
|
|
|
|
|
|
async def create_cron() -> None:
|
|
dynamic_cron_workflow = hatchet.workflow(
|
|
name="CronWorkflow", input_validator=DynamicCronInput
|
|
)
|
|
|
|
# ❓ Create
|
|
cron_trigger = await dynamic_cron_workflow.aio_create_cron(
|
|
cron_name="customer-a-daily-report",
|
|
expression="0 12 * * *",
|
|
input=DynamicCronInput(name="John Doe"),
|
|
additional_metadata={
|
|
"customer_id": "customer-a",
|
|
},
|
|
)
|
|
|
|
cron_trigger.metadata.id # the id of the cron trigger
|
|
# !!
|
|
|
|
# ❓ List
|
|
await hatchet.cron.aio_list()
|
|
# !!
|
|
|
|
# ❓ Get
|
|
cron_trigger = await hatchet.cron.aio_get(cron_id=cron_trigger.metadata.id)
|
|
# !!
|
|
|
|
# ❓ Delete
|
|
await hatchet.cron.aio_delete(cron_id=cron_trigger.metadata.id)
|
|
# !!
|