We'll have to have Ramesh weigh in here on the intention. As the before script still runs I would expect that the job should be at least run the initial time and not rescheduled. Alternatively he may intend that no ttl means that the user is manually responsible to triggering a refresh/load.
'teiid_rel:MATVIEW_TTL' is necessary, if this not set, the schedule job never started, so change Optional from true to false.