> I still don't know if an async future is designed to be waited on for > extended periods of time.
They are not designed for this purpose, although it doesn't make them unusable for long periods of time. Usually you want something persistent for long periods of time. See Araq's answer. Another option is to use persistent database and do timer logic there via polling or pub/sub. Designing for a system that never reboots could be naive, usually they do reboot at least sometimes.
