круто насчёт рума, а каким нибудь таймером пользовались?
Или просто на observer стоял, появился сразу ?
Можно просто по интервалу пытаться отправить, если в прошлый раз была ошибка.
Интернет может появиться и пропасть в процессе передачи. Может пропасть между моментом как он появился и прога начала отправлять данные.