I believe "distributed_interval" in osquery.flags tells the client how often it communicates with the backend for new jobs. Also, "logger_tls_period" can be configured for how often logs are sent. But probably better to read
https://osquery.readthedocs.io/en/stable/installation/cli-flags/ though I can't immediately tell what "best practice" would be; likely depends on your situation/deployment.