2015年8月18日火曜日
CRON上で pyenv または anyenv
cron上で AnyEnv の pyenv を動かそうとすると、設定された環境で実行しない。
これでは、自動実行できないと途方に暮れて、検索すると...
[Stack Over Flow] Cron and virtualenv
http://stackoverflow.com/questions/3287038/cron-and-virtualenv
をみて、source として読み込んでみるが、うまくいかない。
【qita】cron で pyvenv 下の Python を実行させる
http://qiita.com/trsqxyz/items/a40244c48986df2aa8e0
では、対象が、pyenv のため、微妙に参考にならない。
Ubuntu の default python を version3.4 にする方法を調べてみたが、
こちらも ハードルが高そう。
ということで、引き続き、cron で anyenv + pyenv + virtualenv を使うことを模索。
さらに1時間ほど試行錯誤の結果
実行するpython を 使用するはずの python を指定すれば、対応できることがわかる。
testenv という名前の、pyenv上のvirtualenv であれば
$HOME/.anyenv/envs/pyenv/versions/testenv/bin/python
という python を動かすように、cron なり、cron がキックする ShellScript を書けば、動くことを確認。
例えば
python xxxxxxxx.py
と書いていたところを
$HOME/.anyenv/envs/pyenv/versions/testenv/bin/python xxxxxxxx.py
と書けば、cronでも実行されるようになる。
現在のところ、qita の記事のある通り、 cd してから、anyenv内にある python を実行する ShellScript を起動しているけれど、もしかすると、 cd してもしなくても、cd しても結果はあまり変わらないかもしれない(めんどくさいので試していない)。
phpenv とか rubyenv とか plenv でも同じような感じで、cron で実行できるかもしれない
(試してはいない)
ちなみに、celenium を使ったプログラムは、別の理由で実行されない模様。
こちらも引き続き調査中。
そういう方向で。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿