У меня есть задание Крона, которое выполняет каждые 10 минут на Linux (Ubuntu) машина.
*/10 * * * * /home/dbase/Salesforce/InsertJob1
Когда я сделал grep CRON /var/log/syslog
, это отображает все записи этого задания Крона (InsertJob1), который был выполнен каждые 10 минут.
Но, когда я посмотрел на результаты в стороне базы данных (Salesforce), ничто не было выполнено (никакие вставки).
На целевой стороне (база данных Salesforce), я не вижу истории входа в систему этого API SOAP.
Но, когда я выполняю этот файл Python вручную с помощью IDE (PyCharm), он хорошо работает, и данные вставляются в базу данных Salesforce.
Мои вопросы:
Сделайте я должен изменить crontab так, чтобы он показал как InsertJob1
вместо InsertJob1.py
?
Сделайте я должен создать ссылку вместо того, чтобы оставить файл как InsertJob1.py
или без расширения как InsertJob1
?
Что другую задачу (задачи) я имею около отъезда файла Python в местоположении папки, где я указал на Кроне?
У Вас есть ошибка в Вашем кроне:
*/10 * * * * /home/dbase/Salesforce/InsertJob1
должен быть
*/10 * * * * /path/to/env/bin/python /home/dbase/Salesforce/InsertJob1.py
, Когда Вы выполняете код от терминала в виртуальной среде (если Вы не используете один, необходимо рассмотреть это), Вы выполняете его как
python script.py
, выполнения крона почти таким же способом, кроме Вас должны указать путь к Вашему исполняемому файлу Python, которому установили соответствующие пакеты.
В целом, при входе для задания крона, у Вас должен быть некоторый вывод, записанный в файлы журнала, которые говорят Вам, работали ли соответствующие части Вашего крона или нет. Просто добавьте, что некоторые печатают () в правильных местах или используют Python, регистрирующий модуль для Вашего сценария.