Scheduling in CQ can be done pretty easily. CQ uses sling scheduling which further uses open source Quartz schedulers. Often developers who are new to Scheduling want to write a scheduler expression that should trigger at the right time. I also sometimes look for documentation for writing expression. But recently i found a website CronMaker that can help you in identifying the right cron expression to add to your classes.
Scheduling works in two ways in CQ
1) By registering the job through the scheduler API.
2) By leveraging the whiteboard pattern that is supported by the scheduler. (Easy to implement but cannot be scaled).
Scheduling documentation can be found at this link. This pretty much self explains how you can write your custom schedulers and expression can be created from CronMaker website easily. The documentation explains both the approaches listed above in self explanatory way and you don’t have to look anywhere else.
The documentation is bit old and should user newer Annotations, but those can be simply added. If you are creating scheduled events you should configure properties in Felix console and should accept the values in activate method and configure your expressions w.r.t parameters received.