dispatchrun / dispatch-py

Python package to develop applications with Dispatch.
https://pypi.org/project/dispatch-py/
Apache License 2.0
56 stars 3 forks source link

dispatch.test package #86

Closed chriso closed 8 months ago

chriso commented 8 months ago

It's difficult for users to test their Dispatch endpoint. To dispatch calls to functions, users must connect to the production Dispatch orchestrator, and also jump through hoops to expose their local endpoint on the internet (e.g. using ngrok) so that Dispatch can access it.

This PR improves and exports the internal classes we were using to test the SDK. The new dispatch.test package contains a fully functional (albeit very simple) local Dispatch service that can be used in place of the production Dispatch orchestrator. This allows users to play around with the basic functionality of Dispatch, and unit/integration test their functions/graphs, all without requiring an internet connection.

The provided Dispatch service does the absolute bare minimum to drive a graph of execution to completion. Internally, it uses a simple FIFO queue. There are no limits and no adaptive concurrency control.