It's actually quite painless (assuming you have your time zone objects set up correctly)!
The schedule objects are designed so that they only kick off each entry in their list only once. (You can put multiple instances of a given task into your schedule, but the schedule will kick off each entry only once.)
This means at, say, 1:15am, your task will kick off as usual.
At the "next" 1:15am -- after the DST fall back -- the schedule will see that your scheduled task for 1:15am was already started (and maybe even completed), so it will skip over it. Effectively, nothing new will be kicked off by the schedule during that "second" 1am-2am window.
If you think about it, this is the same behavior you see if you tell a schedule to do a 'go immediately' on a particular task -- that task will then be skipped once its regularly scheduled time comes along.
For spring forward, the concept is the same. When 2am becomes 3am, the schedule will see that all your tasks scheduled from 2am-3am haven't yet been kicked off, so it will fire them all simultaneously.