Quando uma requisição é feita, ela retorna informações da aplicação e as armazena em cache no próprio objeto Application. Isso é útil se você precisar acessar essas informações novamente em um curto período, pois não vale a pena fazer uma nova requisição à API para obter dados atualizados. Nesses casos, você pode acessar Application.cache
.
import squarecloud as square
client = square.Client('API_KEY')
async def example():
app = await client.app('application_id')
# Observe que, como nenhuma requisição foi feita, os campos do cache serão None
print(app.cache.logs) # None
print(app.cache.status) # None
print(app.cache.backup) # None
# Agora vamos fazer algumas requisições
await app.logs()
await app.status()
await app.backup()
# O cache foi atualizado 🤯
print(app.cache.logs) # LogsData(...)
print(app.cache.status) # StatusData(...)
print(app.cache.backup) # BackupData(...)
Fazendo requisições sem atualizar o cache
If, for some reason, you don’t want to update the cache when making a request, you can pass the update_cache=False
argument.
import squarecloud as square
client = square.Client('API_KEY')
async def example():
app = await client.app('application_id')
await app.status(update_cache=False)
print(app.cache.status) # None
Se os argumentos passados para cache.update
não forem instâncias de StatusData
, LogsData
ou BackupData
, um erro SquareException
será levantado.
Limpando o cache manualmente
You can manually clear the cache using cache.clear
.
import squarecloud as square
client = square.Client('API_KEY')
async def example():
app = await client.app('application_id')
await app.status()
print(app.cache.status) # StatusData(...)
app.cache.clear() # Limpa o cache
print(app.cache.status) # None
Atualizando o cache manualmente
You can also manually update it using the cache.update
method.
import squarecloud as square
client = square.Client('API_KEY')
async def example():
app = await client.app('application_id')
logs = await app.logs()
status = await app.status()
backup = await app.backup()
app.cache.clear() # Limpa o cache
app.cache.update(status, logs, backup) # Atualiza o cache
print(app.cache.logs) # LogsData(...)
print(app.cache.status) # StatusData(...)
print(app.cache.backup) # BackupData(...)