2014-10-28 4 views
3

Drush를 통해 개별 cron 작업을 실행할 수 있습니까? 예 : 나는 "mycron"이라는 cron job을 가지고있다. Esysia UI에서 [실행]을 클릭하면 해당 작업을 실행할 수 있습니다.Drush로 개별 cron 작업 실행

drush에서는 "drush elysia-cron"명령을 사용할 수 있지만 모든 활성 cron 작업이 실행됩니다.

내 질문 : 어떻게하면 drush를 통해 mycron (전용)을 실행할 수 있습니까?

요청 : "drush elysia-cron mycron"이 작동하도록 모든 cron 작업을 drush에서 사용할 수있게하십시오.

답변

5

내 자신의 cron 후크를 평가하는 방법은 다음과 같습니다.

1) 모듈에서 적절한 hook_cron 호출을 찾습니다. modulename_cron은 원하는 것입니다.

2) 특정 변수가 실행될 때 영향을 주는지 조사하십시오. 내 경우에는 변수가 modulename_cron_last이며 cron이 마지막으로 실행 된 시간을 추적합니다. 이것을 실행하려면이 값을 0으로 강제해야합니다.

3) 실행 drush :

drush eval "variable_set('modulename_cron_last', 0);" 
drush eval "modulename_cron();" 
drush eval "variable_set('modulename_cron_last', time());" 

또는

이이 명령을 possibile입니다 D7에 대한 2.x는 DEV 버전을 사용하는 경우 :

drush elysia-cron run [JOB_NAME] 
or: 
drush elysia-cron run [JOB_NAME] --ignore-time 

(사용 - 실행을 강제하는 시간)

4) 스크립트를 만들고 귀하의 스케줄러에 추가하십시오 (제 경우에는 실제 로컬 Linux crontab)

+0

elysia를 사용하거나 사용하지 않고 프로그래밍 방식으로 개별 cron을 실행하는 방법 –