드루팔의 Batch API 를 이용한 Progress Bar 체험하기

드루팔의 Batch API 를 이용한 Progress Bar 체험하기

드루팔 API는 여타의 웹 개발 프레임워크에 뒤지지 않을만큼 풍성하다.
그리고 인터페이스가 보기에 좋고, 시원시원하며, 디버깅이 편하고, 여러 기능의 연동이 잘된다.
심지어 기존의 배치 처리 시스템를 드루팔을 이용해서 연동하면 아주 멋있다.

Batch 처리를 하면서 Progress Bar(상태 진행바)를 예쁘게 보여주는 Drupal APIBatch 처리를 하면서 Progress Bar(상태 진행바)를 예쁘게 보여주는 Drupal API

그 예로, 배치 처리를 하면서 프로그레스바(상태 진행바)를 예쁘게 보여주는 소스 예제가 있다.

첨부의 batch_example 모듈
( http://api.drupal.org/api/file/developer/examples/batch_example.module/6... 에서 참고)
을 설치/활성화하고,
http://드루팔 설치주소/batch_example/example_1 에서
배치 처리의 Progress Bar 예를 접할 수 있다.

해당 모듈에 관한 API 안내 및 관련 URL들은 다음과 같다.
http://api.drupal.org/api/file/developer/examples/batch_example.module/6
http://drupal.org/node/180528

드루팔 API 중에 batch_set 함수가 관련성이 높다.
http://api.drupal.org/api/function/batch_set/6

Your rating: None 평균 : 4.5 (2 votes)

댓글

위 배치 처리 예제

위 배치 처리 예제 모듈(batch_example.module)의 활용시, 주의할 점 하나를 안내한다.
배치 처리의 내용을 바꾸어서 파일 쓰기 등의 부가적인 처리를 할 때,
batch_example_batch_1 함수에 실행 내용을 직접 쓰면 곤란하다.

이렇게 하면 프로그레스바가 작동하는 것처럼 보이지만,
실제 배치처리가 끝난 후에 Progress Bar가 올라가는 시늉만 한다.

예를 들어 batch_example_batch_1 함수에 File 쓰기를 1만번 해 보면,
1만번 쓰기를 한 후에 프로그레스바 화면이 나타남을 알 수 있다.

그러므로 제대로 된 상태진행(프로그레스바)를 나타내고 싶다면,
batch_example_op_1 함수에 해당 실행 내용을 써 넣어야 한다.
이렇게 하면 실제로 파일 쓰기를 하면서 진행되는 상태바를 정확하게 볼 수 있다.
이때 $nid가 상태 진행의 %를 결정하는 중요한 값이 된다.