스톤 왈, 가능하면 안 넣는게 좋다. 

꼭 필요하다면 테스트 클래스에 private으로 넣을 수도 있을 듯 하다. 


'삽질공유' 카테고리의 다른 글

정규표현식 의문  (0) 2016.06.03
python에서 shell 커맨드 실행할 때  (0) 2016.04.22
http request 전송할 때 content-type 설정하기  (0) 2016.04.11
logrotate  (1) 2016.03.28
logrotate에서 dateyesterday  (0) 2016.03.28
Posted by 썬,더 호글
,

기존에 젠킨스 세팅이 되어 있는 것을 참고하면서 메이븐 프로젝트를 세팅 중이었다. 그 가운데 cron expression으로 코드를 당겨오는 것을 설정하는 부분에 warning이 떠 있는 것을 확인했다. 내용은 



로 십분에 한번 코드가 변경되었는지 확인하지 말고 



H/10 * * * * 


로 수정해서 사용하라는 것이다. 



일단 처음에 혼동되었던 점은 H 가 Hour를 의미하는 것이 아닌가 하고 첫번째 요소가 분단위가 아닌가 하고 확인하게 되었고, 예상대로 첫번째 항목은 분을 나타낸다는 것을 확인 하고 나서 H의 의미가 무엇인지 확인하게 되었다. 그렇게 검색 중에 확인한 내용이 아래와 같다. 


*/10 으로 표현했을 경우에는 매 10분마다 무조건 시행하도록 되어있는데(11:10-11:20...) H를 쓰면 랜덤하게 (11:13-11:23...) 로 수행하게 되기 때문에 똑같은 시간에 수행하지 않되 10분마다 수행하라는 명령의 의도에서는 벗어나지 않으면서도 서버에 부하를 덜 준다는 것이었다.



Posted by 썬,더 호글
,

2.7 이상부터는 subprocess를 import하고 call / Popen 등을 사용하면 된다는 인터넷 상의 의견이 많다. 단, call이나 Popen을 사용했을 때의 단점은 응답값을 받기 위해서는 파일에 저장하거나 해야한다는 점. 그럴 때는 subprocess.check_output을 사용하면 응답값을 간단히 받을 수 있다. 


python 2.7 이하에서는 subprocess가 없다. command나 os를 import해서 수행해야 한다. subprocess가 수행되지 않을 때는 파이선 버전을 확인해본다. 


Popen의 기능에서는 stdout std err 를 다 따로 받을 수 있는 것 같지만  수행에 실패함. 

샘플 http://stackoverflow.com/questions/2502833/store-output-of-subprocess-popen-call-in-a-string


**추가 

python 작성은 반드시 pycharm에서 하는 것이 좋다. 서버에서는 계속 들여쓰기 같은 문제 때문에 원치 않는 시간을 소비해야함..

Posted by 썬,더 호글
,