send messages in batches to prevent overload