uhm....... the host is different from the hostname and from the "domain". Usually, the pretty thing about the request environment is that there is a "Host" header sent by client that indicates which "domain" it has been accessed. This makes your application unaware that is running on a particular domain, whilst keep it working without issues.
Since the scheduler can run on any hostname (also in ones that don't usually have a webserver), we can't known what hostname may have been requested, and that host header is never coming in to signal what is the proper hostname to use.
tl;dr: use URL(......., host='
www.domain.com') instead of URL(...., host=True)