簡體   English   中英

cronjob中的python多線程問題沒有執行

[英]python multithreading issue in cronjob no execute

我有一個 script.py,它按照我的 scripts.py 調用其他多處理腳本:

import os
from multiprocessing import Pool

scriptspy = [
    '/pyscripts/apoiont01.py',
    '/pyscripts/access.py',
    '/pyscripts/dental.py',
    '/pyscripts/cremers.py',
    '/pyscripts/delcuritib.py',
    '/pyscripts/dtalndes.py',
    '/pyscripts/lobo.py',
    '/pyscripts/ierre.py',
    '/pyscripts/daster.py',
    '/pyscripts/dsul.py',
    '/pyscripts/doema.py',
    '/pyscripts/maz.py',
    '/pyscripts/deura.py',
    '/pyscripts/der.py',
    '/pyscripts/dlo.py',
    '/pyscripts/deoltda.py',
    '/pyscripts/dpeed.py',
    '/pyscripts/derr.py',
    '/pyscripts/dweb.py',
]


def roda_processo(processo):
    os.system('python3.7 {}'.format(processo))


for s in scriptspy:
    roda_processo(s)

我的 crontab -e:

* * * * 1,5 /usr/local/bin/python3.7 /pyscripts/scripts.py > /pyscripts/logs/scripts.log

有趣的是,如果我在終端上運行相同的手動運行命令: / usr / local / bin / python3. 7 /pyscripts/scripts.py > / pyscripts/logs / scripts.log / usr / local / bin / python3. 7 /pyscripts/scripts.py > / pyscripts/logs / scripts.log運行正常。

登錄/var/log/cron.log: https://gist.githubusercontent.com/braganetx/a05c8b7257df79305dd1b79008323011/raw/8aec453a74566e8872608d1705f05004c1e12e5e/log

您應該將其替換為帶有 Python 解釋器完整路徑的版本,因為從cron運行的任何內容都缺少“通常的”環境變量設置,即 PATH 是您最缺少的:

def roda_processo(processo):
    os.system('/usr/local/bin/python3.7 {}'.format(processo))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM