Fix cron running every minute
[project/elysia_cron.git] / INSTALL.txt
1 UPGRADE A NEW VERSION
2 ----------------------
3
4 If you are upgrading from an old version of elysia_cron you should simply 
5 replace module files. You don't even need to execute the "update.php" drupal
6 process: Elysia cron will detect the new version on its first run and updates
7 itself automatically.
8
9
10 INSTALLATION 
11 -------------
12
13 For the basic install you only need to enable the module and Elysia Cron will be
14 up and running.
15
16 You can stop here if you don't need a great precision over task execution and
17 you don't have to execute a task more often than once an hour.  
18 For example, if you need only the "Once a day", "Once a week" or "Once a month" 
19 schedule rules the basic install is fine. (For D6 users that want to stop here: 
20 you should have installed Drupal crontab as described in Drupal INSTALL guide).
21
22 Instead, if you need:
23 - to run some tasks more often than once an hour (eg: you have a function that
24   should be executed every 5 minutes)
25 - to execute a task at an exact time (eg:you must run a function at exactly 
26   "17:23") 
27 ... you must follow Step B
28
29
30 STEP B: CHANGE SYSTEM CRONTAB (OPTIONAL)
31 -----------------------------------------
32
33 To get the full potential out of elysia cron and have the full control over you
34 tasks a further step is needed: you need to configure the system crontab to
35 execute drupal cron every minute.
36
37 To do this refer to the section "Configuring cron jobs" of drupal documentation:
38 http://drupal.org/cron
39
40 The only difference is that you should use the "* * * * *" rule part instead of
41 "0 * * * *" or "45 * * * *" as described in the guide.
42
43 While you're editing the system crontab, it's also recommended to replace the
44 "/cron.php" part with "/sites/modules/elysia_cron/cron.php" (if you have
45 installed elysia_cron in "sites/modules" directory).
46 This is an optional step (you can leave "/cron.php" if you want), doing it will 
47 result in a better performance in bigger sites (elysia_cron's cron.php handles 
48 cache in a better way).
49
50 For example: 
51 * * * * * wget -O - -q -t 1 http://www.example.com/sites/all/modules/elysia_cron/cron.php
52
53 IF YOU WANT TO ENABLE CRON KEY SECURITY...
54
55 ... you should also add the choosen cron key (from elysia_cron setup) to the
56 call.
57
58 Example: 
59 * * * * * wget -O - -q -t 1 http://www.example.com/sites/all/modules/elysia_cron/cron.php?cron_key=12345678
60
61 That's all, now you can go the the cron administration page to configure your
62 tasks.
63 (NOTE: In D7, having a system crontab defined, you can set the "Run cron on 
64 visitor's requests, every" setting to "Never")
65
66 By default elysia_cron will run all standard cron jobs sequentially (in a
67 single channel) once an hour. You can change this behavious with elysia_cron
68 setup.
69
70 To access elysia_cron setup, and change the scheduling of your jobs or view
71 execution stats, go to cron page from administration menu.
72
73 Note: to better see warnings on administration page you should consider adding
74 a rule for "warn" class to theme CSS stylesheet, like this one: .warn { color:
75 red; font-weight: bold; }
76
77
78 PERMISSIONS
79 ------------
80
81 You can also give 'administer elysia_cron' permission to all user roles that
82 needs to administer cron jobs. You can do this with standard drupal users
83 administration.