Planowanie połączeń API flask za pomocą zadań cron

0

Pytanie

Mam funkcję, która powoduje kilka API i aktualizuje bazę danych po wywołaniu. Chcę zaplanować wykonanie funkcji codziennie w określonym czasie.

Już próbowałem flask_apscheduler i APScheduler, które wydają się ten błąd:

Zwykle oznacza to, że próbowałeś korzystać z funkcji, do których potrzebny był aktywny żądanie HTTP. Zajrzyj do dokumentacji, testów, aby uzyskać informacje o tym, jak uniknąć tego problemu.

Wszelkie wskazówki na ten temat będą pomocne.

api apscheduler cron flask
2021-11-16 07:42:09
1

Najlepsza odpowiedź

0

Należy:

  • Podziel się kod, w którym można określić zastosowanie kolby.
  • Określ, jak próbujesz uzyskać dostęp do aplikacji.
  • Jak dzwonisz API.
  • Niezależnie od tego, czy są to API zewnętrznych lub częścią projektu.

Jednak prawdopodobnie to kwestia kontekstu. Ja już spotkałem się z podobnym w SQLAlchemy wcześniej. Trzeba będzie w jakiś sposób uzyskać dostęp do aplikacji lub przy użyciu app_context, albo importując current_app z kolby i dostęp do konfiguracji.

  1. Zakładając, że importujesz aplikację, w której jest używany twoja funkcja, spróbuj tego:

    with app.app_context():
        # call your function here
    

    Odnieść się do tego dokumentu, aby uzyskać więcej informacji na: Dokumentacja w kolbie

  2. Inne podejście, które można spróbować, to wysyłanie konfiguracji aplikacji za pośrednictwem obiektu klasy konfiguracji.
    Możesz określić zadania, które chcesz zaplanować i wysłać link na swoją funkcję w środku.
    Sprawdź ten przykład z repozytorium flask-apscheduler na GitHub.

2021-11-19 13:46:07

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................