Если выполнение функции занимает больше времени, чем интервал таймера, другое исполнение будет не срабатывают до тех пор, после завершения текущого вызова. Следующее выполнение запланировано после выполнение завершено. Вы можете увидеть это в коде here. Вы можете доказать это сами, попробовав простой локальный пример - создайте функцию, которая запускается каждые 5 секунд, и засыпает там на минутку. Вы не увидите другой запуск функции до тех пор, пока не закончится первая.
Что касается работы singleton, то приведенное выше показывает, что только один вызов функции выполняется в заданное время на в том же экземпляре (VM). SDK также гарантирует, что никакие другие функции не будут выполняться через развернутые экземпляры. Вы можете узнать больше об этом here. Чтобы увидеть это в действии, вы можете имитировать, запустив два экземпляра своего консольного приложения локально - один запустит расписание, а другой - нет. Однако, если вы убьете того, кто выполняет расписание, другой будет забирать его через короткое время (в течение минуты).
posible related with: http://stackoverflow.com/questions/29542705/what-happens-when-a-scheduled-webjob-runs-for-a-long-time посмотреть, al webjobs работает в одном и том же путь внутри триггера, лазурный планировщик и т. д. в любом случае вы можете сделать тестовые данные в журнале и вставить некоторый длинный Sleep/ThreadWait, а затем просмотреть журнал azure webjob в azure portal –