Create a dynamic dispatch Worker
After you have created a dispatch namespace, you can fetch any user Workers in the namespace using a dynamic dispatch Worker. The dynamic dispatch Worker has a namespace binding.
Use any method of routing to a namespaced Worker (reading the subdomain, request header, or lookup in a database). Ultimately you need the name of the user Worker.
In the following example, routing to a user Worker is done through reading the subdomain <USER_WORKER_NAME>.example.com/*. For example, my-customer.example.com will run the script uploaded to PUT accounts/<ACCOUNT_ID>/workers/dispatch/namespaces/my-dispatch-namespace/scripts/my-customer.
src/index.jsexport default {	async fetch(request, env) {		try {			// parse the URL, read the subdomain			let workerName = new URL(request.url).host.split('.')[0];			let userWorker = env.dispatcher.get(workerName);			return await userWorker.fetch(request);		} catch (e) {			if (e.message.startsWith('Worker not found')) {				// we tried to get a worker that doesn't exist in our dispatch namespace				return new Response('', { status: 404 });			}
			// this could be any other exception from `fetch()` *or* an exception			// thrown by the called worker (e.g. if the dispatched worker has			// `throw MyException()`, you could check for that here).			return new Response(e.message, { status: 500 });		}	},
};