mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2025-12-31 05:39:41 -06:00
* feat: first pass at dependency injection * feat: add DI example + tests * feat: finish up tests * feat: docs * chore: gen * chore: lint * chore: changelog + ver * fix: split up paragraphs * refactor: improve impl * chore: gen * feat: inject input + ctx into deps * chore: gen * [Python] Feat: More use of `logger.exception` (#2069) * feat: add more instances of `logger.exception` * chore: ver * chore: changelog * fix: one more error log * chore: gen * chore: gen * chore: lint * fix: improve shutdown * chore: changelog * unwind: exit handler * feat: task run error * feat: improve error serde with more context * chore: changelog * fix: changelog * chore: gen * fix: rm celpy + lark dep, casing issues * chore: changelog * fix: respect log levels over the API * fix: changelog * refactor: rename log forwarder * fix: circular import
94 lines
3.3 KiB
Python
94 lines
3.3 KiB
Python
from examples.affinity_workers.worker import affinity_worker_workflow
|
|
from examples.bulk_fanout.worker import bulk_child_wf, bulk_parent_wf
|
|
from examples.bulk_operations.worker import (
|
|
bulk_replay_test_1,
|
|
bulk_replay_test_2,
|
|
bulk_replay_test_3,
|
|
)
|
|
from examples.cancellation.worker import cancellation_workflow
|
|
from examples.concurrency_limit.worker import concurrency_limit_workflow
|
|
from examples.concurrency_limit_rr.worker import concurrency_limit_rr_workflow
|
|
from examples.concurrency_multiple_keys.worker import concurrency_multiple_keys_workflow
|
|
from examples.concurrency_workflow_level.worker import (
|
|
concurrency_workflow_level_workflow,
|
|
)
|
|
from examples.conditions.worker import task_condition_workflow
|
|
from examples.dag.worker import dag_workflow
|
|
from examples.dedupe.worker import dedupe_child_wf, dedupe_parent_wf
|
|
from examples.dependency_injection.worker import (
|
|
async_task_with_dependencies,
|
|
di_workflow,
|
|
durable_async_task_with_dependencies,
|
|
durable_sync_task_with_dependencies,
|
|
sync_task_with_dependencies,
|
|
)
|
|
from examples.durable.worker import durable_workflow, wait_for_sleep_twice
|
|
from examples.events.worker import event_workflow
|
|
from examples.fanout.worker import child_wf, parent_wf
|
|
from examples.fanout_sync.worker import sync_fanout_child, sync_fanout_parent
|
|
from examples.lifespans.simple import lifespan, lifespan_task
|
|
from examples.logger.workflow import logging_workflow
|
|
from examples.non_retryable.worker import non_retryable_workflow
|
|
from examples.on_failure.worker import on_failure_wf, on_failure_wf_with_details
|
|
from examples.return_exceptions.worker import return_exceptions_task
|
|
from examples.simple.worker import simple, simple_durable
|
|
from examples.timeout.worker import refresh_timeout_wf, timeout_wf
|
|
from examples.webhooks.worker import webhook
|
|
from hatchet_sdk import Hatchet
|
|
|
|
hatchet = Hatchet(debug=True)
|
|
|
|
|
|
def main() -> None:
|
|
worker = hatchet.worker(
|
|
"e2e-test-worker",
|
|
slots=100,
|
|
workflows=[
|
|
affinity_worker_workflow,
|
|
bulk_child_wf,
|
|
bulk_parent_wf,
|
|
concurrency_limit_workflow,
|
|
concurrency_limit_rr_workflow,
|
|
concurrency_multiple_keys_workflow,
|
|
dag_workflow,
|
|
dedupe_child_wf,
|
|
dedupe_parent_wf,
|
|
durable_workflow,
|
|
child_wf,
|
|
event_workflow,
|
|
parent_wf,
|
|
on_failure_wf,
|
|
on_failure_wf_with_details,
|
|
logging_workflow,
|
|
timeout_wf,
|
|
refresh_timeout_wf,
|
|
task_condition_workflow,
|
|
cancellation_workflow,
|
|
sync_fanout_parent,
|
|
sync_fanout_child,
|
|
non_retryable_workflow,
|
|
concurrency_workflow_level_workflow,
|
|
di_workflow,
|
|
lifespan_task,
|
|
simple,
|
|
simple_durable,
|
|
bulk_replay_test_1,
|
|
bulk_replay_test_2,
|
|
bulk_replay_test_3,
|
|
webhook,
|
|
return_exceptions_task,
|
|
wait_for_sleep_twice,
|
|
async_task_with_dependencies,
|
|
sync_task_with_dependencies,
|
|
durable_async_task_with_dependencies,
|
|
durable_sync_task_with_dependencies,
|
|
],
|
|
lifespan=lifespan,
|
|
)
|
|
|
|
worker.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|