Ich möchte JSON-Daten von einer externen URL zu einer bestimmten Zeit (22.00 Uhr) jeden Tag abschneiden und speichern. Die URL erfordert eine Anmeldung, auf die ich Zugriff habe, bin mir aber nicht sicher, wie dies am besten umgesetzt werden kann.JSON-Daten zu einer bestimmten Zeit in der Datenbank speichern
Die JSON als solche strukturiert:
{
"Region": [{"id":"1","region":"South"}],
"Agent": [{"id":"1","first_name":"Tim","last_name":"Jones"}]
}
I geschaffen das Modell Region
und Agent
in die Daten zu speichern, über die Felder entsprechen.
Das ist, was ich bisher in Region
Modell haben
json = JSON.parse('http://....')
json['Region'].each do |data|
Region.create(
id: data['id'],
region: data['region']
)
Meine Fragen sind:
- Ist dies möglich, über das Modell, oder muss ich dies in einem Controller zu setzen haben
- Wie gehe ich beim Abschneiden und Speichern zu einem bestimmten Zeitpunkt vor?
Danke für die Informationen @ EJ2015. Ist es die beste Vorgehensweise, das Modell dafür zu verwenden? Was ich oben habe, scheint nicht zu speichern, wenn ich die URL durch JSON-Daten ersetze. – DollarChills
Normalerweise würde das, was Sie beschrieben haben, in einem Modell oder einer Arbeiterklasse (z. B. mit Sidekiq) implementiert werden. Wenn Sie die Daten nicht in db speichern können, überprüfen Sie die Fehler (stellen Sie sicher, dass Sie den richtigen Datentyp speichern und sie gültig sind). – EJ2015