Wolfram Language

Interfaces Cloud et Web

Mettez en cache une page Web de résumé météorologique populaire

Si un objet cloud Delayed est consulté par de nombreuses personnes avant de devoir être recalculé, sa sortie peut être mise en cache pendant un certain temps grâce à l'option CachePersistence.

Définissez une fonction qui calcule l'historique de la température de Rio de Janeiro au cours de la semaine dernière.

Afficher l'entrée complète de Wolfram Language
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]=

Déployez la fonction en tant qu'application qui met en cache son résultat pendant 5 minutes. Des milliers d'utilisateurs peuvent désormais accéder à l'application et obtenir des informations raisonnablement à jour sans que le serveur ne doive recalculer le résultat à chaque fois, ce qui améliore le temps de réponse et réduit la charge du serveur.

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

Exemples connexes

de en es ja ko pt-br ru zh