/ problème de multithreading avec python dans cronjob - python, multithreading, cron, threadpool

Problème de multithreading Python dans Cronjob - python, multithreading, cron, threadpool

J'ai un programme python qui utilise le ThreadPool pour le multithreading. Le programme est une étape dans un script shell. Lorsque j'exécute manuellement le script shell sur la ligne de commande, l'ensemble du flux fonctionne comme prévu. Cependant, lorsque j'exécute le script shell en tant que travail cron, il semble que le flux passe aux étapes suivantes avant la fin des étapes de multithreading de python.

Dans le programme python, j'appelle AsyncResult.get (timeout) pour attendre que tous les résultats soient renvoyés avant de poursuivre.

Réponses:

0 pour la réponse № 1

Exécutez votre programme via batch(1) (voir le résultat de la commande man batch) ainsi que. Si cela fonctionne bien, mais que la version cron ne fonctionne pas, c'est probablement un problème de configuration de la variable d'environnement. Pour vérifier cela, lancez printenv depuis votre shell interactif pour inspecter votreenvironnement là-bas. Ensuite, faites la même chose dans la crontab (vous aurez juste besoin de configurer temporairement une entrée supplémentaire pour le cron). Essayez de définir les variables dans votre script shell avant d'appeler Python.

D'autre part, si cela ne fonctionne pas via batch(1) cela pourrait être quelque chose à voir avec les fichiers ouverts par votre code. Essayez d’exécuter votre script avec l’entrée redirigée à partir de / dev / null et la sortie dans un fichier:

$ /usr/local/bin/myscript </dev/null >|/tmp/outfile.txt 2>&1