Asumming można wykonywać zadania cron, dobrym rozwiązaniem byłoby podzielić skrypt w dwóch częściach, jeden do żądania, gdy skrypt zostanie wykonany, a drugi do faktycznego skryptu.
Twój pierwszy skrypt utworzy crona aby zaplanować wykonanie skryptu, na które można użyć python-crontab pakiet:
pip install python-crontab
Aby utworzyć zadanie cron:
from datetime import datetime
from crontab import CronTab
run_date_input = raw_input("Please enter a date (e.g. 2017-11-28): ")
run_time_input = raw_input("What time do you want to start the script (e.g. 14:30:12)? ")
run_date = datetime.strptime(run_date_input, "%y-%m-%d")
run_time = datetime.strptime(run_time_input, "%H:%M:%S")
#Access the crontab for the current user (on unix systems)
user_cron = CronTab(user='your username')
#Access the crontab (on windows sytems)
user_cron = CronTab(tabfile='c:/path_to_your_tab_file/filename.tab')
#Create a new job
job = user_cron.new(command='python /home/your_second_script.py')
job.setall(datetime(run_date.year, run_date.month, run_date.day, run_time.hour, run_time.minute, run_time.second))
Jeśli używasz Windowsa, musisz zainstalować crona dla Windows używając czegoś takiego jak cygwin lub nowego podsystemu Linux dla Windows 10.
Utwórz zadanie w systemie operacyjnym, aby uruchomić skrypt –
'enter_date' jest ciągiem, musisz przekonwertować go na obiekt daty przed obliczeniem różnicy. – Faibbus
Czy jesteś w systemie Windows lub Linux (Unix)? – Isma