Discussed some things internally and came up with some possible ideas.
If you’re willing/able to do a real cron job, and not WordPress’ “cron” job, you could use something like WP-CLI. We ship with this command available:
NAME
wp algolia reindex
DESCRIPTION
Push all records to Algolia for a given index.
SYNOPSIS
wp algolia reindex [<indexName>] [--clear] [--all]
ALIAS
re-index
OPTIONS
[<indexName>]
The id of the index without the prefix.
[--clear]
Clear all existing records prior to pushing the records.
[--all]
Re-indexes all the enabled indices.
Regarding the re-index buttons in the admin, they’re apparently handled via some “javascript shenanigans” and wouldn’t necessarily be readily available to PHP/WP Cron.
“Otherwise, we do not yet have any sort of built-in WP-Cron, because re-indexing in WP-Cron would be prone to timeouts and/or out of memory errors, if you have a lot of posts”