calculate votes cron

This commit is contained in:
Ulf Gebhardt 2015-10-01 00:36:56 +02:00
parent 1756afe468
commit ece83c5d8c
7 changed files with 39 additions and 1 deletions

View File

@ -4,4 +4,5 @@ require_once dirname(__FILE__).'/page/autoload.inc';
require_once dirname(__FILE__).'/files/autoload.inc';
require_once dirname(__FILE__).'/api/autoload.inc';
require_once dirname(__FILE__).'/sql/autoload.inc';
require_once dirname(__FILE__).'/sai/autoload.inc';
require_once dirname(__FILE__).'/sai/autoload.inc';
require_once dirname(__FILE__).'/cron/autoload.inc';

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__));
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','SQL');

View File

@ -0,0 +1,8 @@
<?php
class cron_calculate_votes extends \SYSTEM\CRON\cronjob{
public static function run(){
\SQL\CRON_CALCULATE_VOTES::QI();
\SQL\CRON_DELETE_VOTES::QI();
return \SYSTEM\CRON\cronstatus::CRON_STATUS_SUCCESFULLY;
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace SQL;
class CRON_CALCULATE_VOTES extends \SYSTEM\DB\QQ {
public static function get_class(){return \get_class();}
public static function mysql(){return
'UPDATE mojotrollz_server server
INNER JOIN
(
SELECT server, COUNT(*) as sum_votes
FROM mojotrollz_vote
GROUP BY server
) vote
ON server.id = vote.server
SET server.score = server.score + vote.sum_votes';
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class CRON_DELETE_VOTES extends \SYSTEM\DB\QQ {
public static function get_class(){return \get_class();}
public static function mysql(){return
'DELETE FROM mojotrollz_vote;';
}
}

View File

@ -6,6 +6,7 @@ class DATA_MOJOTROLLZ extends \SYSTEM\DB\QI {
return array( \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_page.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_api.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_text.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_cron.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_server.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_vote.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/schema_mojotrollz_addon.sql'));

View File

@ -0,0 +1 @@
INSERT INTO `system_cron` (`class`, `min`, `hour`, `day`, `day_week`, `month`, `last_run`, `status`) VALUES ('cron_calculate_votes', 0, 0, 1, 0, 0, NULL, 0);