네. 제문제는 제가 넣어 놓은 코드 자체가 문제라 첨부가 있을 경우 동작이 안되는게 맞을 것 같아요.
영웅도우럭님의 케이스는 눈송이애드온에서 api쪽과 계속 통신하려해서 나머지 api들이 동작할 시간을 주지 못한채 제한된 시간이 끝나버려서 그럴거에요. 그 문제는 최근에 다른 문제로 테스트 과정에서 php 동작시간을 제한하는 곳이 꽤 여러곳에 있다는 것을 @기진곰님께서 확인해주셔서 알게 되었어요.
네. 조금 보완해서 insert 전단계에서 쿼리해서 세션으로 저장한 다음 세션값에 따라 트위터로 보내거나 안보내게 했습니다 .insert 직후 세션은초기화 하도록 했구요. 개발자가 아니니 어렵네요 ㅋ insert 단계에서는 쿼리 시간이 필요하지 않게 하려고 머리를 굴려봤습니다.
댓글 25
아마 서버환경이 바뀌면서 애드온 코드중 일부가 문제가 되는 듯 합니다.
네. 제문제는 제가 넣어 놓은 코드 자체가 문제라 첨부가 있을 경우 동작이 안되는게 맞을 것 같아요.
영웅도우럭님의 케이스는 눈송이애드온에서 api쪽과 계속 통신하려해서 나머지 api들이 동작할 시간을 주지 못한채 제한된 시간이 끝나버려서 그럴거에요. 그 문제는 최근에 다른 문제로 테스트 과정에서 php 동작시간을 제한하는 곳이 꽤 여러곳에 있다는 것을 @기진곰님께서 확인해주셔서 알게 되었어요.
다 분석해 보지 않았지만 지금 추측으로는 첨부파일이 있을때 전송이 안되는 듯 해요.
if($oDocument->isExists() && $oDocument->get('status') !== 'TEMP') return;
이 코드가 php5 에서 첨부가 있는 글을 리턴 안시켰던게 오히려 이상하네요. 지금 다시 보니 첨부가 있으면 리턴되게 짜여진거 같은데요...
흠.. 이 코드는 글 수정시에는 전송하지 않으려고 넣은 코드인데 이게 문제가 되는 걸까요....
트위터로 전송하는 작업 직전에서 문서번호로 db에 실제 문서가 이미 존재하는 지 확인하는 쿼리를 한번 한후 카운트가 발생하면 트위터 전송을 하지 하지 않는 코드를 넣어 보았습니다.
$obj = new stdClass();
$obj->document_srl = $oDocument->document_srl;
$data = executeQuery("addon.to_sns.getDocument",$obj);
if($data->data->count >= 1) return;
}
요런식으로 문서번호가 확인될때만 쿼리를 한번 해보는 것으로 했습니다.
if($oDocument->variables['regdate'] != $oDocument->variables['last_update'])
이런식으로... 테스트는 안해봤지만 될거에요.
오... 요거 되면 아주 광속 쿼리 이긴 하지만 쿼리를 해보지 않아도 새글인지 수정하고 있는 글인지 알 수 있겠네요.
그런데 글 작성 이후 댓글도 안달리고 그러면 작성시간 = 업데이트시간 아닌가요? 이러면 리턴이 안되는고 트위터로 전송이 또 될텐데요???
새글 작성 버튼만 누른상황
새글 작성을 누르고 파일 업로드를 한 상황
두 시간이 각각 잡히나요?
파일업로드를 했어도 등록일은 새로갱신되어 최종 글 등록시간으로 기록됩니다.
insert 되기 직전에 저 시간이 잡히기 때문에 기존 글은 무조건 다르게 되는 거군요. 그렇다면 임시글이 아닌 글로 제한해서 조건을 걸어야 될 것 같네요.
procBoardInsertDocument 요 단계에서 리턴 시키니 잘 되는 것 같습니다.
파일첨부된 글도 전송이 잘 되고 수정 글은 리턴이 잘 되는 것 같아요. 감사합니다.
네. 조금 보완해서 insert 전단계에서 쿼리해서 세션으로 저장한 다음 세션값에 따라 트위터로 보내거나 안보내게 했습니다 .insert 직후 세션은초기화 하도록 했구요. 개발자가 아니니 어렵네요 ㅋ insert 단계에서는 쿼리 시간이 필요하지 않게 하려고 머리를 굴려봤습니다.
개발자님이 별도 멘트 하실때 까지 기다려야겠네요 ㅠ