SiteWhere does not have the concept of scheduling actions to happen at a future time or at a recurring time/interval. The feature can be applied for many different aspects of the system including command invocations, batch operations, cleanup operations, etc. The implementation should account for:
Cron-style scheduling expressions
Scheduling tasks on an interval
Scheduling tasks for one-time fire in the future
Persistence of schedules in the datastore
User interface for defining schedules
Updates to allow command invocations to be scheduled