Итак, после долгих раздумий и мыслей по совету Алекса я разобрался с этим.Вот решение моей проблемы.Функция, которую я хотел запланировать, выглядит примерно так:
def get_data(dir):
df = pd.DataFrame()
file_name = "nofile"
# The rest of the body of the code executes and updates the two variables df and file_name
return df, file_name
Решение:
from apscheduler.schedulers.background import BackgroundScheduler
if __name__ == "__main__":
sched = BackgroundScheduler()
@sched.scheduled_job('cron', hour=6, minute=0, second=0, timezone='Europe/Paris')
def run_db1():
download_directory = "D:/random_data"
if not os.path.exists(download_directory):
download_directory = os.mkdir(download_directory)
df, flnom = get_data(download_directory)
print("1st check")
if flnom == 'nofile':
@sched.scheduled_job('cron', hour=18, minute=0, second=0, timezone='Europe/Paris')
def run_db2():
download_directory = "D:/random_data"
if not os.path.exists(download_directory):
download_directory = os.mkdir(download_directory)
df, flnom = get_data(download_directory)
print("2nd check")
flnom = "nofile"
return df, flnom
return df, flnom
sched.start()
Моя первоначальная проблема заключается в загрузке данных с ftp-сервера, если новый файл загружен насервер СЕГОДНЯ.ЕСЛИ файл существует, то имя_файла будет обновляться;в противном случае он останется как «nofile» и будет проверен позже в тот же день.Спасибо всем, кто внес свой вклад.