It sets taskinstance state in the following transition
State.SCHEDULED -> State.QUEUED
Task dependencies are not checked until task is running :(
There is no direct way to change delay scheduling of a TaskInstance
using a custom dependency that subclasses BaseTiDep unless
dep_context.QUEUED_DEPS is patched during run time.
One could attempt throwing a AirflowRescheduleException in TaskInstance.pre_execute
but that introduces an unnecessary delay to the task execution that should be avoided.
There is also no surety that invariants of the custom dependency are satisfied
in the next run of the TaskInstance.
TaskInstance can only be resheduled once without resorting to Sensor type tasks
because of special handling in SchedulerJob for rescheduled cases.
There is the rare possibility of still looking into patching dep_context.QUEUED for adding custom dependency rules.