source: trunk/cron.php

Last change on this file was 1, checked in by george, 15 years ago
  • Přidáno: Základní struktura složek.
  • Přidáno: SugarCRM 5.2.0a.
File size: 4.0 KB
Line 
1<?php
2 if(!defined('sugarEntry'))define('sugarEntry', true);
3/*********************************************************************************
4 * SugarCRM is a customer relationship management program developed by
5 * SugarCRM, Inc. Copyright (C) 2004 - 2009 SugarCRM Inc.
6 *
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License version 3 as published by the
9 * Free Software Foundation with the addition of the following permission added
10 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13 *
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License along with
20 * this program; if not, see http://www.gnu.org/licenses or write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 * 02110-1301 USA.
23 *
24 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26 *
27 * The interactive user interfaces in modified source and object code versions
28 * of this program must display Appropriate Legal Notices, as required under
29 * Section 5 of the GNU General Public License version 3.
30 *
31 * In accordance with Section 7(b) of the GNU General Public License version 3,
32 * these Appropriate Legal Notices must retain the display of the "Powered by
33 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34 * technical reasons, the Appropriate Legal Notices must display the words
35 * "Powered by SugarCRM".
36 ********************************************************************************/
37//change directories to where this file is located.
38//this is to make sure it can find dce_config.php
39chdir(realpath(dirname(__FILE__)));
40
41 require_once('include/entryPoint.php');
42
43if(empty($current_language)) {
44 $current_language = $sugar_config['default_language'];
45}
46
47global $current_user;
48$current_user = new User();
49$current_user->getSystemUser();
50
51///////////////////////////////////////////////////////////////////////////////
52//// PREP FOR SCHEDULER PID
53$GLOBALS['log']->debug('--------------------------------------------> at cron.php <--------------------------------------------');
54
55$cachePath = 'cache/modules/Schedulers';
56$pid = 'pid.php';
57if(!is_dir($cachePath)) {
58 mkdir_recursive($cachePath);
59}
60if(!is_file($cachePath.'/'.$pid)) {
61 if(is_writable($cachePath)) { // the "file" does not yet exist
62 write_array_to_file('timestamp', array(strtotime(date('H:i'))) , $cachePath.'/'.$pid);
63 require_once($cachePath.'/'.$pid);
64 } else {
65 $GLOBALS['log']->fatal('Scheduler cannot write PID file. Please check permissions on '.$cachePath);
66 }
67} else {
68 if(is_writable($cachePath.'/'.$pid)) {
69 require_once($cachePath.'/'.$pid);
70 } else {
71 $GLOBALS['log']->fatal('Scheduler cannot read the PID file. Please check permissions on '.$cachePath);
72 }
73}
74//// END PREP FOR SCHEDULER PID
75///////////////////////////////////////////////////////////////////////////////
76
77///////////////////////////////////////////////////////////////////////////////
78//// EXECUTE IF VALID TIME (NOT DDOS)
79
80
81
82
83if($timestamp[0] < strtotime(date('H:i'))) {
84 if(is_writable($cachePath.'/'.$pid)) {
85 write_array_to_file('timestamp', array(strtotime(date('H:i'))) , $cachePath.'/'.$pid);
86 require('modules/Schedulers/Scheduler.php');
87 $s = new Scheduler();
88 $s->flushDeadJobs();
89 $s->checkPendingJobs();
90 } else {
91 $GLOBALS['log']->fatal('Scheduler cannot write PID file. Please check permissions on '.$cachePath);
92 }
93} else {
94 $GLOBALS['log']->fatal('If you see a whole string of these, there is a chance someone is attacking your system.');
95
96
97
98}
99$exit_on_cleanup = true;
100
101
102
103
104
105sugar_cleanup($exit_on_cleanup);
106?>
Note: See TracBrowser for help on using the repository browser.