Wolfram Language

Cloud & Web Interfaces

Eine beliebte Wetterseite cachen

Wenn ein Delayed-Cloudobjekt von vielen Menschen angesehen wird, bevor es neu berechnet wird, kann dessen Output für einen bestimmten Zeitraum durch die CachePersistence-Option gecached werden.

Bestimmen Sie eine Funktion, die den Temperaturverlauf der letzten Woche für Rio de Janeiro berechnet.

Den kompletten Wolfram Language-Input zeigen
In[1]:=
Click for copyable input
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[]
Out[1]=

Stellen Sie die Funktion als eine Anwendung bereit, die ihre Ergebnisse 5 Minuten lang im Cache behält. Nun können Tausende User die Anwendung nutzen und ziemlich aktuelle Information abrufen, ohne dass der Server das Ergebnis jedes Mal neu berechnen muss. Dies schlägt sich in besserer Antwortzeit und geringerer Server-Belastung nieder.

In[2]:=
Click for copyable input
obj = CloudDeploy[ Delayed[rioTemperatureHistory[], "PNG", CachePersistence -> Quantity[5, "Minutes"]]]
Out[2]=

Verwandte Beispiele

en es fr ja ko pt-br ru zh