Mein Server wird mit einem Start- und Stoppplan ausgeführt, der leider die Sparenzeit der Tageslicht folgt. Ich suche nach einer Möglichkeit, den Cron -Zeitplan für meine Funktions -App dynamisch zu ändern, um die Zeitsparenzeit bei Tageslicht zu berücksichtigen. Dies ist im Python -Code einfach; Der Function App -Timer -Auslöser funktioniert jedoch nicht, wenn Sie etwas anderes als eine wörtliche Zeichenfolge auf den Parameter azure.functions.FunctionApp.Schedule () .
festlegen.
Code: Select all
import azure.functions as func
import logging
app = func.FunctionApp()
@app.schedule(
schedule=""
,arg_name="myTimer"
,run_on_startup=False
,use_monitor=True
)
def timer_trigger(myTimer: func.TimerRequest) -> None:
if myTimer.past_due:
logging.info('The timer is past due!')
logging.info('Python timer trigger function executed.')
Zum Beispiel in @App.Schedule () , wenn Sie Schedule = "0 35 * * * *" wie erwartet in der 35. Minute jede Stunde auslöst. Nachdem ich verurteilt hatte, dass wörtliche Zeichenfolgen funktionieren, habe ich die folgenden Ansätze ausprobiert, die dynamische Eingänge ermöglichen: < /p>
Code: Select all
schedule=f"0 {35} * * * *"
< /code>
var_cron = "0 35 * * * *"
schedule=var_cron
< /code>
schedule="0 {minutes} * * * *".format(minutes=35)
< /code>
Even though the Timer Trigger Issue Analysis application insight in the diagnostic hub shows the CRON as 0 35 * * * *
Für all diese Ansätze löst die App nicht tatsächlich aus. Wenn Sie die App im Azure -Portal manuell ausführen, gibt es keine Fehler zurück. Außerdem gibt die diagnostische Ansicht "Funktionen, die nicht auslösen", keine Fehler zurück. Aus jedem Blickwinkel, den ich überprüfen sollte, scheint Azure zu verstehen, was in den Parameter von @app.schedule () übergeben wird. Gibt es einen weiteren Python -Ansatz, den Sie sich vorstellen können? Ist das ein bekannter Fehler auf Azure's Seite? Jede Hilfe wird sehr geschätzt.