Flask-crontab kullanarak html isteği olan bir crontab nasıl ayarlanır?

0

Soru

Daha sonra flask-crontab modülü aracılığıyla bir cronjob çalıştıran belirli bir zamanı (aşağıya bakınız) ayarlamak için bir düğme kullandığım bir html sayfası çalıştırmak istiyorum. Nasıl kullanabilirim minute, hour, day, month dışarıda def get_time() değişkenleri global olarak ayarlamadan mı?
Burada flask-crontab kullanmanın sağlam bir yolu nedir?

APP = Flask(__name__)
Bootstrap(APP)
crontab = Crontab(APP)

...

@APP.route('/randompage.html' methods = ['POST', 'GET])
def get_time():
    time_req = request.args.get("html_time")
    format_time = datetime.strptime(time_req, "%Y-%m-%dT%H:%M")

    minute = format_time.minute
    hour = format_time.hour
    day = format_time.day
    month = fomrat_time.month

    return render_template('randompage.html', time_req=time_req)


@crontab.job()
def exe_control():
    do something here

Html sayfasındaki düğme:

<form action="/randompage.html" method="GET">
<input type="datetime-local" name="html_time"/>
<input type="submit"/></form>
cron flask html linux
2021-11-13 12:05:37
1

En iyi cevabı

0

Değerleri kullanmak için minute, hour, day, month diğer işlevlerde kullanmanız gerekir global değişkenler veya global olarak saklayın list/dictionary veya kaydet file/ veritabanı ' ve diğer işlevlerde okuyun.

Ancak bu değerlerin değer olarak kullanılmasını istiyorsanız @crontab.job(minute=..., hour=...) o zaman hiçbir işe yaramaz. Direkt olarak çalıştırmalısın. get_time normal işlev olarak

crontab.job(minute=minute, ...)(exe_control)


APP = Flask(__name__)
Bootstrap(APP)
crontab = Crontab(APP)

# ...

@APP.route('/randompage.html' methods = ['POST', 'GET'])
def get_time():
    time_req = request.args.get("html_time")
    format_time = datetime.strptime(time_req, "%Y-%m-%dT%H:%M")

    minute = format_time.minute
    hour = format_time.hour
    day = format_time.day
    month = fomrat_time.month

    crontab.job(minute=minute, hour=hour, day=day, month=month)(exe_control)

    return render_template('randompage.html', time_req=time_req)

# - without decorator -
def exe_control():
    do something here
2021-11-14 00:00:27

Diğer dillerde

Bu sayfa diğer dillerde

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