hook_cronapi.html 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <p>The hook_cronapi($op, $function = NULL) allows you to define new cronjobs</p>
  2. <h3>Example</h3>
  3. <pre>
  4. // Define custom cron functions
  5. function mymodule_cronapi($op, $function = NULL) {
  6. switch($op) {
  7. case 'list':
  8. return array(
  9. 'mymodule_cronjob_1' => 'Cron-1 Handler',
  10. 'mymodule_cronjob_2' => 'Cron-2 Handler',
  11. 'mymodule_cronjob_3' => 'Cron-3 Handler',
  12. );
  13. case 'rule':
  14. switch($function) {
  15. case 'mymodule_cronjob_1': return '*/13 * * * *';
  16. case 'mymodule_cronjob_2': return '0 0 1 * *';
  17. }
  18. break;
  19. case 'execute':
  20. switch($function) {
  21. case 'mymodule_cronjob_2':
  22. mymodule_somefunction();
  23. break;
  24. }
  25. break;
  26. case 'settings':
  27. switch ($function) {
  28. // 'mymodule_cronjob_3' disabled by default
  29. case 'mymodule_cronjob_3': return array('enabled' => FALSE);
  30. }
  31. case 'configure':
  32. switch ($function) {
  33. case 'mymodule_cronjob_3': return 'admin/configure-modules-settings/xxx';
  34. }
  35. }
  36. }
  37. // Custom cron-function
  38. function mymodule_cronjob_1() {
  39. // Do some stuff ...
  40. }
  41. // Custom cron-function
  42. function mymodule_somefunction() {
  43. // Do some stuff ...
  44. }
  45. // Custom cron-function
  46. function mymodule_cronjob_3() {
  47. // Do some stuff ...
  48. }
  49. </pre>