mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-22 16:03:47 +01:00
fixed asyncservices to run under the windows sheduler
This commit is contained in:
parent
fe44aa6f00
commit
74fd47804a
@ -145,7 +145,7 @@
|
|||||||
|
|
||||||
if ($async->only_fallback)
|
if ($async->only_fallback)
|
||||||
{
|
{
|
||||||
echo '<p>'.lang('Under windows you can only use the fallback mode at the moment. Fallback means the jobs get only checked after each page-view !!!')."</p>\n";
|
echo '<p>'.lang('Under windows you need to install the asyncservice %1manually%2 or use the fallback mode. Fallback means the jobs get only checked after each page-view !!!','<a href="http://www.egroupware.org/wiki/TimedAsyncServicesWindows" target="_blank">','</a>')."</p>\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -347,7 +347,7 @@ top admin de oben
|
|||||||
total records admin de Anzahl Datensätze insgesamt
|
total records admin de Anzahl Datensätze insgesamt
|
||||||
trust level admin de Grad des Vertrauens
|
trust level admin de Grad des Vertrauens
|
||||||
trust relationship admin de Vertrauensverhältnis
|
trust relationship admin de Vertrauensverhältnis
|
||||||
under windows you can only use the fallback mode at the moment. fallback means the jobs get only checked after each page-view !!! admin de Unter Windows steht im Moment nur die Ausweichmöglichkeit zur Verfügung. Bei der Ausweichmöglichkeit werden die Jobs nur nach jedem Seitenaufbau überprüft!!!
|
under windows you need to install the asyncservice %1manually%2 or use the fallback mode. fallback means the jobs get only checked after each page-view !!! admin de Unter Windows muß der asynchrone Service %1von Hand%2 installiert werden oder es wird nur die Ausweichmöglichkeit benutzt. Bei der Ausweichmöglichkeit werden die Jobs nur nach jedem Seitenaufbau überprüft!!!
|
||||||
use cookies to pass sessionid admin de SitzungsId in einem Cookie speichern
|
use cookies to pass sessionid admin de SitzungsId in einem Cookie speichern
|
||||||
use pure html compliant code (not fully working yet) admin de Vollständig HTML kompatiblen Code verwenden (nicht vollständig implementiert)
|
use pure html compliant code (not fully working yet) admin de Vollständig HTML kompatiblen Code verwenden (nicht vollständig implementiert)
|
||||||
use theme admin de Benutztes Farbschema
|
use theme admin de Benutztes Farbschema
|
||||||
|
@ -341,7 +341,7 @@ top admin en top
|
|||||||
total records admin en Total records
|
total records admin en Total records
|
||||||
trust level admin en Trust Level
|
trust level admin en Trust Level
|
||||||
trust relationship admin en Trust Relationship
|
trust relationship admin en Trust Relationship
|
||||||
under windows you can only use the fallback mode at the moment. fallback means the jobs get only checked after each page-view !!! admin en Under windows you can only use the fallback mode at the moment. Fallback means the jobs get only checked after each page-view !!!
|
under windows you need to install the asyncservice %1manually%2 or use the fallback mode. fallback means the jobs get only checked after each page-view !!! admin en Under windows you need to install the asyncservice %1manually%2 or use the fallback mode. Fallback means the jobs get only checked after each page-view !!!
|
||||||
use cookies to pass sessionid admin en Use cookies to pass sessionid
|
use cookies to pass sessionid admin en Use cookies to pass sessionid
|
||||||
use pure html compliant code (not fully working yet) admin en Use pure HTML compliant code (not fully working yet)
|
use pure html compliant code (not fully working yet) admin en Use pure HTML compliant code (not fully working yet)
|
||||||
use theme admin en Use theme
|
use theme admin en Use theme
|
||||||
|
@ -23,8 +23,19 @@
|
|||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
$path_to_egroupware = realpath(dirname(__FILE__).'/../..'); // need to be adapted if this script is moved somewhere else
|
|
||||||
$_GET['domain'] = isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : 'default';
|
$_GET['domain'] = isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : 'default';
|
||||||
|
$path_to_egroupware = realpath(dirname(__FILE__).'/../..'); // need to be adapted if this script is moved somewhere else
|
||||||
|
|
||||||
|
// remove the comment from one of the following lines to enable loging
|
||||||
|
// define('ASYNC_LOG','C:\\async.log'); // Windows
|
||||||
|
// define('ASYNC_LOG','/tmp/async.log'); // Linux, Unix, ...
|
||||||
|
if (defined('ASYNC_LOG'))
|
||||||
|
{
|
||||||
|
$msg = date('Y/m/d H:i:s ').$_GET['domain'].": asyncservice started\n";
|
||||||
|
$f = fopen(ASYNC_LOG,'a+');
|
||||||
|
fwrite($f,$msg);
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
|
|
||||||
$GLOBALS['phpgw_info']['flags'] = array(
|
$GLOBALS['phpgw_info']['flags'] = array(
|
||||||
'currentapp' => 'login',
|
'currentapp' => 'login',
|
||||||
@ -32,7 +43,13 @@
|
|||||||
);
|
);
|
||||||
if (!is_readable($path_to_egroupware.'/header.inc.php'))
|
if (!is_readable($path_to_egroupware.'/header.inc.php'))
|
||||||
{
|
{
|
||||||
echo "asyncservice.php: Could not find '$path_to_egroupware/header.inc.php', exiting !!!\n";
|
echo $msg = "asyncservice.php: Could not find '$path_to_egroupware/header.inc.php', exiting !!!\n";
|
||||||
|
if (defined('ASYNC_LOG'))
|
||||||
|
{
|
||||||
|
$f = fopen(ASYNC_LOG,'a+');
|
||||||
|
fwrite($f,$msg);
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
include($path_to_egroupware.'/header.inc.php');
|
include($path_to_egroupware.'/header.inc.php');
|
||||||
@ -41,20 +58,50 @@
|
|||||||
$db_type = $GLOBALS['phpgw_domain'][$_GET['domain']]['db_type'];
|
$db_type = $GLOBALS['phpgw_domain'][$_GET['domain']]['db_type'];
|
||||||
if (!isset($GLOBALS['phpgw_domain'][$_GET['domain']]) || empty($db_type))
|
if (!isset($GLOBALS['phpgw_domain'][$_GET['domain']]) || empty($db_type))
|
||||||
{
|
{
|
||||||
echo "asyncservice.php: Domain '$_GET[domain]' is not configured or renamed, exiting !!!\n";
|
echo $msg = "asyncservice.php: Domain '$_GET[domain]' is not configured or renamed, exiting !!!\n";
|
||||||
|
if (defined('ASYNC_LOG'))
|
||||||
|
{
|
||||||
|
$f = fopen(ASYNC_LOG,'a+');
|
||||||
|
fwrite($f,$msg);
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (!extension_loaded($db_type) && !dl($db_type.'.so'))
|
// some constanst for pre php4.3
|
||||||
|
if (!defined('PHP_SHLIB_SUFFIX'))
|
||||||
{
|
{
|
||||||
echo "asyncservice.php: Extension '$db_type' is not loaded and can't be loaded via dl('$db_type.so') !!!\n";
|
define('PHP_SHLIB_SUFFIX',strtoupper(substr(PHP_OS, 0,3)) == 'WIN' ? 'dll' : 'so');
|
||||||
}
|
}
|
||||||
|
if (!defined('PHP_SHLIB_PREFIX'))
|
||||||
|
{
|
||||||
|
define('PHP_SHLIB_PREFIX',PHP_SHLIB_SUFFIX == 'dll' ? 'php_' : '');
|
||||||
|
}
|
||||||
|
$db_extension = PHP_SHLIB_PREFIX.$db_type.'.'.PHP_SHLIB_SUFFIX;
|
||||||
|
if (!extension_loaded($db_type) && !dl($db_extension))
|
||||||
|
{
|
||||||
|
echo $msg = "asyncservice.php: Extension '$db_type' is not loaded and can't be loaded via dl('$db_extension') !!!\n";
|
||||||
|
if (defined('ASYNC_LOG'))
|
||||||
|
{
|
||||||
|
$f = fopen(ASYNC_LOG,'a+');
|
||||||
|
fwrite($f,$msg);
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$GLOBALS['phpgw_info']['server']['sessions_type'] = 'db'; // no php4-sessions availible for cgi
|
$GLOBALS['phpgw_info']['server']['sessions_type'] = 'db'; // no php4-sessions availible for cgi
|
||||||
|
|
||||||
include(PHPGW_API_INC.'/functions.inc.php');
|
include(PHPGW_API_INC.'/functions.inc.php');
|
||||||
|
|
||||||
$num = ExecMethod('phpgwapi.asyncservice.check_run','crontab');
|
|
||||||
// if the following comment got removed, you will get an email from cron for every check performed
|
|
||||||
//echo date('Y/m/d H:i:s ').$_GET['domain'].': '.($num ? "$num job(s) executed" : 'Nothing to execute')."\n";
|
|
||||||
|
|
||||||
|
$num = ExecMethod('phpgwapi.asyncservice.check_run','crontab');
|
||||||
|
|
||||||
|
$msg = date('Y/m/d H:i:s ').$_GET['domain'].': '.($num ? "$num job(s) executed" : 'Nothing to execute')."\n\n";
|
||||||
|
// if the following comment got removed, you will get an email from cron for every check performed (*nix only)
|
||||||
|
//echo $msg;
|
||||||
|
|
||||||
|
if (defined('ASYNC_LOG'))
|
||||||
|
{
|
||||||
|
$f = fopen(ASYNC_LOG,'a+');
|
||||||
|
fwrite($f,$msg);
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
|
Loading…
Reference in New Issue
Block a user