Запустите скрипт API Python из cron

#python #api

#python #API

Вопрос:

Я пытаюсь запустить скрипт Python для API. Когда я запускаю его вручную, он работает нормально. Когда я пытаюсь запустить тот же скрипт с помощью cron, он завершается неудачей.

В задании cron у меня есть что-то вроде этого:

 0 8-17     * * * root  /usr/bin/python3 /root/scripts/python_script.sh
 

Я также пытался запустить скрипт Python из скрипта bash, и он работает вручную, но запуск скрипта bash с Python внутри через cron не работает.

Я думаю, что проблема связана с сохранением файла в моем скрипте, но я не могу понять это.

Мой скрипт Python для API приведен ниже:

 import requests
import json
import shutil
import os
import glob

def main():


    ses = requests.Session()
    base_url = 'URL/auth'
    headers = {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
    payload = {'username':'USER', 'password':'PASS'}

    response = ses.post(base_url, data=payload, headers=headers)
    cookieJar = ses.cookies


    s = str(cookieJar)


    base_url_export = 'URL/export'
    headers_export = {'accept':'application/json', 'Cookie':get_cookies, 'Content-Type':'application/json'}
    payload_export = {'names':'FILE_1'}

    response_export_route = ses.post(base_url_export, data=json.dumps(payload_export), headers=headers_export)

    file_download_FILE_1 = str(response_export_FILE_1.text)
    


    file_request = ses.get("URL/getFile/" file_download_FILE_1)
    open(file_download_FILE_1 ".xlsx", "wb").write(file_request.content)

    shutil.move('/root/scripts/' file_download_FILE_1 '.xlsx', 'DST-DIR')
 

Комментарии:

1. Хм… Где вы на самом деле вызываете main функцию?

2. Это не работает? Это говорит очень мало. В чем ошибка? Вы получаете какой-либо вывод?

3. я понял это, я просто забыл изменить каталог для запуска скрипта python.