‹›Interfaces de la nube y webAlmacene en caché una página web popular del tiempo
Si un objeto de la nube Delayed es visto por muchas personas antes de que necesite ser re-calculado, su salida puede ser almacenada en caché para un período de tiempo por medio de la opción de CachePersistence.
Defina una función que calcule la historia de la temperatura de Río de Janeiro la semana pasada.
muestre la entrada completa de Wolfram Language
rioTemperatureHistory[] :=
With[{temps =
AirTemperatureData[
GeoPosition[
Entity["City", {"RioDeJaneiro", "RioDeJaneiro",
"Brazil"}]], {Now - Quantity[1, "Weeks"], Now}]},
labelcolor = GrayLevel[0.4];
tempcolor = GrayLevel[0.4];
grid = Grid[{{Style["Current", labelcolor],
Row[{Style[
QuantityForm[Round@Last[temps["Values"]], "Abbreviation"],
tempcolor], " "}]}, {Style["High", labelcolor],
Row[{Style[
QuantityForm[Round@Max[temps["Values"]], "Abbreviation"],
tempcolor], " "}]}, {Style["Low", labelcolor],
Row[{Style[
QuantityForm[Round@Min[temps["Values"]], "Abbreviation"],
tempcolor], " "}]}}, Alignment -> {{Right, Left}}];
table =
Style[Column[{Row[{"Past Week "}, Alignment -> {Bottom, Right}
], grid}, Alignment -> Right], 16, RGBColor[
0.9098049191388243, 0.3176450101594796, 0.24313742164725222`]];
DateListPlot[temps, PlotRange -> {55, 100},
AxesLabel -> Style["\[Degree]F", 20, Black],
TicksStyle -> Directive[Black, 14], Ticks -> {None, Automatic},
PlotStyle -> Directive[AbsoluteThickness[2], Black],
Filling -> Bottom,
FillingStyle ->
Directive[RGBColor[
0.9098049191388243, 0.3176450101594796, 0.24313742164725222`],
Opacity[1]],
Epilog -> Inset[table, Scaled[{0.95, 0.9}], {Right, Top}],
PlotTheme -> {"Wide", "Presentation"}, ImageSize -> 550]]
rioTemperatureHistory[]
Implemente la función como una aplicación que almacene como caché su resultado por 5 minutos. Ahora miles de usuarios podrán acceder a la aplicación y obtener información razonablemente actualizada sin que el servidor tenga que re-calcular el resultado cada vez, resultando en un mejor tiempo de respuesta y menor carga del servidor.
obj = CloudDeploy[
Delayed[rioTemperatureHistory[], "PNG",
CachePersistence -> Quantity[5, "Minutes"]]]