2012-07-06 2 views
-3

나는 fantasy football applications와 유사한 소프트웨어를 개발 중입니다.cron을 사용하여 체계적으로 데이터베이스 업데이트

저는 각각에 관련된 정보가있는 사용자 계정이 mysql의 관계형 데이터베이스에 저장되어 있습니다. 나는 모든 게임이 모든 회원의 통계를 한 번에 업데이트하기를 마친 후에 실행할 PHP 스크립트를 가지고 있습니다 (수천 명의 사용자가있을 수 있습니다).

유닉스를 사용하여 cron 탭을 설정하는 것이 가장 좋은 해결책 인 것 같습니다.
이것이 올바른 해결책이 될지 궁금합니다.

매주 화요일마다 실행되도록이 crontab을 설정하면 사용자 정보를 업데이트하는 PHP 스크립트가 실행됩니까?

cron 탭은 간단한 웹 사이트에서 Unix를 사용하여 쉽게 설정할 수 있습니까?

+0

예, cron이하는 일입니다. 특정 시간에 명령을 실행합니다. 질문이 뭐야? – Celada

+0

나는 정확히 어떻게 작동하는지 모르기 때문에 누군가가 crontab에 대해 정교 할 수 있는지 궁금해하고있었습니다. 왜 당신이 도움을 청하기 위해 -1을 주 었는지 이해가 안됩니다. –

+0

크론의 맨 페이지를 읽지 않았거나 질문을 올리기 전에 무엇이든 시도한 것처럼 들릴 수 있습니다. – Celada

답변

1

크론 설치는 정말 간단합니다. 셸 액세스 권한이있는 경우 #crontab -e를 입력하면 cron 설정으로 이동합니다. 이 링크를 확인하십시오 : Crontab - Quick Reference.
PHP 스크립트를 만들어 cron 탭에 연결하면됩니다. cPanel을 사용하여 서버를 실행하는 경우, GUI에서 수행하려는 경우 내장 된 cron 관리자도 있습니다.

당신은 나에게 이것에 대해 결정적인 결론을 내리기에는 충분한 정보를주지 못했지만 스크립트를 균형있게 조정하여 1) 충분히 자주 변경되어 충분히 작은 변경 사항을 업데이트해야합니다. 예를 들어, 매일 100 개의 레코드가 변경되면 매일 스크립트를 실행하면 2400 개의 레코드를 업데이트해야한다는 것을 의미합니다. 일주일에 한 번 실행하면 16800 개의 레코드를 업데이트해야하므로 서버로드가 높아질 수 있습니다. . 그리고/또는 2) 청크로 당신의 업데이트를 해체하십시오. 예를 들어, 레코드가 일주일에 한 번만 변경되지만 그 시간에 16800 레코드가 변경되면 스크립트를 1000 개의 업데이트로 실행하고 잠시 동안 잠자기 상태로 두거나 수면 모드를 실행하거나 잠자기 모드로 전환 할 수 있습니다. 나쁜 습관,하지만 내가 가장 간단합니다), 또는 당신이 cron 스크립트를 자주 실행하면, 1000 번 업데이트 할 때마다, 그리고 마지막에 (예를 들어, 마지막 ID 번호) 추적을 남길 것입니다. 스크립트가 다음에 실행될 때 스크립트가 실행될 수 있도록 데이터베이스에 마지막으로 변경된 변경 사항입니다.

좀 더 정교한 예제를 작성하려면 두 가지 다른 접근법을 설명하십시오. 알려 주시기 바랍니다.

+0

대단히 고마워요. 이건 일종의 일반적인 거라는 걸 압니다.하지만이게 내가 찾고 있던 바로 그거야. Celada보다 더 많은 도움이되었고, 저를 싫어했고, 저를 도우 려하지 않았습니다. 도움에 감사드립니다. –

관련 문제