712 B
712 B
pub struct Infra
Infra is a service which polls the database and synchronizes updates to relays to a remote zooid instance via api_url.
Members:
api_url: String- the URL of the zooid instance to be managed, fromZOOID_API_URLrepo: Repo
pub fn new(repo: Repo) -> Self
- Reads environment and populates members
pub async fn start(self)
Calls self.tick in a loop every 10 seconds.
pub async fn tick(self)
Iterates over repo.list_activity since last run and does the following:
- For any
create_relay|update_relayactivity, sync relay config to zooid. - For any
deactivate_relayactivity, sync relay config to zooid. - If unsuccessful, call
repo.fail_relay_sync.