Allgemeine Scheduler fragen...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ZeroZwoZwo
User
Beiträge: 1
Registriert: Donnerstag 5. Januar 2017, 13:55

Hallo , bin ein anfänger in sachen programmieren und python ...

habe zwar schon einige kurse (automate the boring stuff , etc ) mehr oder weniger durch ;) aber hänge immer wieder mal an einem thema deshalb dieser thread ..

kurzer überblick ich arbeite an meinem ersten richtigen projekt, eine webapp (StockScreener) ..
sprich die webapp zieht aktien kurse über die API von einem anbieter und speichert sie in eine pandas dataframe , danach wird eine funktion ausgeführt die die relative stärke der einzelnen sektoren(technologie,immobilien,finanz,etc) mit dem gesamt markt indemfall dem SP500 index abgleicht und dann vom stärksten zum schwächsten hin sortiert wird ,
dass selbe spiel dannochmal mit den einzelnen aktien pro sektor ... die ausgabe der daten werden dann in einer dashapp mit grafiken und tabellen dargestellt.

was bereits schon funktioniert also jetzt skript technisch noch nicht als webapp.. also rein das ausführen der funktionen klappt schonmal

Code: Alles auswählen

def get_ticker(tickers):
'die daten werden von der API gelesen und in pandas dataframes abgespeichert'

def rsc_algo(dataframe,timeframe):
'algorithmus zur berechnung der relativen stärke in zeitraum xy spuckt eine sortierte tupleliste aus'

def df_to_sql(dataframe,name):
'legt eine sqlite datenbank mit den aktien werten an'

def sql_to_df(name):
'zieht die daten aus der sql und wandelt sie in pandas dataframe um zur späteren weiterverarbeitung'
dass ziel der webapp wäre es auf heroku zum laufen zu bringen , jedoch bin seit zwei tagen am tüfteln wie ich die API funktion automatisch von Montags bis Freitags um XX:XX uhr starten kann
und wenn die funktion dann erfolgreich abgeschlossen ist mit den weitern funktionen die daten verarbeite also voll automatisch... tappe da ziemlich im dunklen

würde am liebsten mit der Apscheduler https://apscheduler.readthedocs.io/en/stable/ library arbeiten da diese auch von heroku empfohlen wird ?

bin momentan im jupyter notebook am herumdoktorn umzu verstehen wie ich eine funktion schedulen kann und den nächsten schritt im code zb. eine andere funktion aufgerufen wird nachdem die scheduled
funktion erfolgreich ausgeführt worden ist...

was zumindest so im trockenen funktioniert ist wenn ich eine funktion einfach in die @sched funktion dranhänge , aber da meine funktionen variablen brauchen bzw. ich diese
auch gerne in variablen speichern will denke ich ist dass keine lösung ?

Code: Alles auswählen

from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.schedulers.background import BackgroundScheduler

@sched.scheduled_job('interval', minutes=1)
def once_per_min():
    print('test')
    test()  # einfach die funktion unten anbinden ist sicher nicht die beste lösung bzw. wird warscheinlich zu neune problemen führen....
    
def test():                                   
    print('done')

wäre wirklich froh wenn mich jemand auf den richtigen weg führen könnte... danke

nochmal kurz der ablauf des codes sollte so sein:
1. API Daten ziehen (an jedem wochentag zur Uhrzeit X)
2. Daten in sql speichern
3. Daten von Sql ziehen und berechnen
4. berechnete daten in dashapp anzeigen (grafiken/tables)
Antworten