2008-09-10 5 views
3

특정 시간대에 블로그 게시물을 자동으로 게시하는 Wordpress 플러그인을 작성하려고합니다. 예를 들어 여러 RSS 피드를 읽고 모든 새 항목을 일별로 게시합니다.Wordpress 플러그인에서 예약 된 작업 실행

내가 원한 것과 비슷한 것을하는 플러그인이 있지만, 많은 자동화 된 스케줄링을 위해 크론 작업에 의존하는 플러그인이 있습니다. 내가해야만한다면 그렇게 하겠지만, 더 좋은 방법이 있기를 바라고 있습니다. 일반적인 Wordpress 사용자가 cron 작업을 추가하는 것은 우호적이지 않습니다.

Wordpress 플러그인에서 실행되는 작업을 예약하는 좋은 방법이 있습니까? 적시에 정확하게 실행할 필요는 없습니다.

답변

0

vBulletin은 일종의 Pseudo-Cron 시스템을 사용합니다.이 시스템은 기본적으로 모든 페이지 액세스시 일정을 확인하고 그로 인해 발생하는 모든 프로세스를 시작합니다.

Wordpress에서 작업 한 이후로 꽤 오래되었지만 각 페이지보기에서 실행되는 경우이 기능이 작동해야한다고 생각합니다.

+0

:-)

그냥 내 2 센트 당신이 모든 시도 스팸 코멘트에 의존 한 경우, 당신은 밀리 초 정확도를 가질 수있다. :-) –

0

이렇게하는 가장 좋은 방법은 의사 -cron을 사용하는 것입니다. 나는 여러 번 본 적이 있지만 정확한 타이밍은 아니지만 필요한 것을해야합니다. Wordpress에서 index.php는 .htaccess의 설정에 따라 항상 처음으로 충돌하므로 pseudo-cron.php라는 파일을 만들고 루트 디렉토리에 덤프 한 다음 색인에서 한 번만 요구합니다. 다른 사람이 사이트를 방문하면 스크립트가 실행되고 스크립트를 시작하는 데 사용할 수 있으며 하루 중 시간에 따라 그리고 이전 다이제스트가 실행되었을 때 다른 일별 다이제스트가 생성되어야하는지 확인할 수 있습니다. 그것은 실행할 수있는 블로그를 "명중"사람을 필요

3

의사 크론이 좋다하지만이있는 두 가지 문제는

1입니다. 소량 사이트는 잠재적으로 광범위한 실행 시간을 가지므로 시간에 대해 구체적이지는 않습니다.

2 페이지가로드되기 전에 처리가 수행됩니다. 따라서 실행 시간이 발생하고 "cron"항목이 많으면 잠재적으로 하위 표준 환경을 제공하여 방문자를 화나게 할 수 있습니다.

+0

# 2에 대해 틀렸다고 생각합니다. WordPress는 작업을 시작하기 위해 비동기 curl() 호출을 생성하므로 방문자에게 눈에 띄는 지연이 없습니다. 해결 방법 # 1을 원한다면 cron 작업을 'wget http://example.com/wp-cron.php'로 설정할 수 있습니다. –