Compare commits
19 Commits
release-0.
...
release-0.
| Author | SHA1 | Date | |
|---|---|---|---|
| e84c1eba42 | |||
| b93efc9878 | |||
| 9697654594 | |||
| 5121f78cea | |||
| dbc1252bef | |||
| a3e58e4ee4 | |||
| 3b22b0f2c9 | |||
| efb7db35d8 | |||
| 841a5b9f92 | |||
| 506a6e189c | |||
| 3da59727de | |||
| c0d8747b21 | |||
| e1bd324e84 | |||
| 8fe8f8ba08 | |||
| 274bc8f3c9 | |||
| edc2439232 | |||
| bd74b0f54e | |||
| cd93f13f41 | |||
| 21bd423f02 |
29
build/ripping-cluster-worker.init-gentoo
Normal file
29
build/ripping-cluster-worker.init-gentoo
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
PID_FILE="/var/run/ripping-cluster-worker.pid"
|
||||
|
||||
depend() {
|
||||
need localmount net
|
||||
use dns logger puppetmaster netmount nfsmount
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ripping-cluster-worker"
|
||||
start-stop-daemon --start --quiet \
|
||||
--background --make-pidfile --pidfile ${PID_FILE} \
|
||||
--exec /usr/bin/php /usr/lib/ripping-cluster/worker/ripping-cluster-worker.php
|
||||
eend $? "Failed to start ripping-cluster-worker"
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ripping-cluster-worker"
|
||||
start-stop-daemon --stop --quiet \
|
||||
--pidfile ${PID_FILE}
|
||||
local ret=$?
|
||||
eend ${ret} "Failed to stop puppet"
|
||||
rm -f ${PID_FILE}
|
||||
return ${ret}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,25 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Sihnon Framework Library path
|
||||
*
|
||||
* Specifies the absolute or relative path to the Sihnon Framework library directory, relative to the webui root directory.
|
||||
* Path must end with a trailing slash.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('SihnonFramework_Lib', '/usr/lib/sihnon-php-lib/source/lib/');
|
||||
|
||||
/**
|
||||
* Sihnon Library path
|
||||
*
|
||||
* Specifies the absolute or relative path to the Sihnon library directory, relative to the webui root directory.
|
||||
* Path must end with a trailing slash.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('Sihnon_Lib', '/usr/lib/ripping-cluster/source/lib/');
|
||||
|
||||
/**
|
||||
* RippingCluster Library path
|
||||
*
|
||||
@@ -8,16 +28,65 @@
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('RippingCluster_Lib', '../lib/');
|
||||
define('RippingCluster_Lib', '/usr/lib/ripping-cluster/source/lib/');
|
||||
|
||||
/**
|
||||
* RippingCluster Database Configuration
|
||||
* Sihnon Database Support
|
||||
*
|
||||
* Specifies the absolute or relative path to the RippingCluster database configuration file.
|
||||
* Specifies whether or not to include database support in the Framework
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
define('Sihnon_DatabaseSupport', true);
|
||||
|
||||
/**
|
||||
* Sihnon Database Configuration
|
||||
*
|
||||
* Specifies the absolute or relative path to the Sihnon database configuration file, required when Database support is enabled.
|
||||
* This is a standard ini type file, containing the config required to connect to the database.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('RippingCluster_DBConfig', '../dbconfig.conf');
|
||||
define('Sihnon_DBConfig', '/etc/ripping-cluster/dbconfig.conf');
|
||||
|
||||
/**
|
||||
* Sihnon Config Plugin
|
||||
*
|
||||
* Specifies the plugin to use for configuration value storage.
|
||||
* Options include:
|
||||
* - Database (Requires Database Support to be enabled, and the Sihnon_ConfigTable option set)
|
||||
* - FlatFile (Requires the Sihnon_ConfigFile option set)
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('Sihnon_ConfigPlugin', 'Database');
|
||||
|
||||
/**
|
||||
* Sihnon Config Table
|
||||
*
|
||||
* Specifies the name of the database table thats used for storing configuration values
|
||||
* when the Database Config Plugin is used.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('Sihnon_ConfigTable', 'settings');
|
||||
|
||||
/**
|
||||
* Sihnon Config File
|
||||
*
|
||||
* Specifies the name of the file used to store configuration values when the FlatFile Config Plugin is used
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
define('Sihnon_ConfigFile', '/etc/ripping-cluster/settings.txt');
|
||||
|
||||
/**
|
||||
* Sihnon Development Mode
|
||||
*
|
||||
* Specifies whether or not the Framework should operate in debug mode
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
define('Sihnon_Dev', false);
|
||||
|
||||
?>
|
||||
@@ -1,5 +1,5 @@
|
||||
hostname = localhost
|
||||
username = handbrake
|
||||
password = handbrake
|
||||
dbname = handbrake_cluster
|
||||
username = ripping
|
||||
password = ripping
|
||||
dbname = ripping_cluster
|
||||
|
||||
|
||||
@@ -4,12 +4,20 @@ class RippingCluster_LogEntry extends SihnonFramework_LogEntry {
|
||||
|
||||
protected $job_id;
|
||||
|
||||
protected static $types;
|
||||
|
||||
public static function initialise() {
|
||||
self::$types['job_id'] = 'int';
|
||||
// Copy the list of datatypes from the parent
|
||||
// We can't modify it in place, else we'll break any logging done inside the SihnonFramework tree
|
||||
// or other subclass trees.
|
||||
static::$types = parent::$types;
|
||||
|
||||
// Add the new data types for this subclass
|
||||
static::$types['job_id'] = 'int';
|
||||
}
|
||||
|
||||
protected function __construct($level, $category, $ctime, $pid, $file, $line, $message, $job_id) {
|
||||
parent::__construct($level, $category, $ctime, $pid, $file, $line, $message);
|
||||
protected function __construct($level, $category, $ctime, $hostname, $progname, $pid, $file, $line, $message, $job_id) {
|
||||
parent::__construct($level, $category, $ctime, $hostname, $progname, $pid, $file, $line, $message);
|
||||
|
||||
$this->job_id = $job_id;
|
||||
}
|
||||
@@ -19,6 +27,8 @@ class RippingCluster_LogEntry extends SihnonFramework_LogEntry {
|
||||
$row['level'],
|
||||
$row['category'],
|
||||
$row['ctime'],
|
||||
$row['hostname'],
|
||||
$row['progname'],
|
||||
$row['pid'],
|
||||
$row['file'],
|
||||
$row['line'],
|
||||
@@ -32,8 +42,8 @@ class RippingCluster_LogEntry extends SihnonFramework_LogEntry {
|
||||
$this->level,
|
||||
$this->category,
|
||||
$this->ctime,
|
||||
static::$hostname,
|
||||
static::$progname,
|
||||
$this->hostname,
|
||||
$this->progname,
|
||||
$this->pid,
|
||||
$this->file,
|
||||
$this->line,
|
||||
@@ -48,7 +58,7 @@ class RippingCluster_LogEntry extends SihnonFramework_LogEntry {
|
||||
|
||||
protected static function log($logger, $severity, $job_id, $message, $category = SihnonFramework_Log::CATEGORY_DEFAULT) {
|
||||
$backtrace = debug_backtrace(false);
|
||||
$entry = new self($severity, $category, time(), getmypid(), $backtrace[1]['file'], $backtrace[1]['line'], $message, $job_id);
|
||||
$entry = new self($severity, $category, time(), static::$localHostname, static::$localProgname, getmypid(), $backtrace[1]['file'], $backtrace[1]['line'], $message, $job_id);
|
||||
|
||||
$logger->log($entry);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,8 @@ class RippingCluster_Main extends SihnonFramework_Main {
|
||||
|
||||
$this->request = new RippingCluster_RequestParser($request_string);
|
||||
|
||||
if (HBC_File == 'index') {
|
||||
switch (HBC_File) {
|
||||
case 'index': {
|
||||
$this->smarty = new Smarty();
|
||||
$this->smarty->template_dir = './source/templates';
|
||||
$this->smarty->compile_dir = './tmp/templates';
|
||||
@@ -29,6 +30,8 @@ class RippingCluster_Main extends SihnonFramework_Main {
|
||||
$this->smarty->assign('messages', array());
|
||||
|
||||
$this->smarty->assign('base_uri', $this->base_uri);
|
||||
} break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<?php
|
||||
|
||||
require_once '../private/config.php';
|
||||
require_once(SihnonFramework_Lib . 'SihnonFramework/Main.class.php');
|
||||
//require_once RippingCluster_Lib . 'RippingCluster/Main.class.php';
|
||||
require_once '/etc/ripping-cluster/config.php';
|
||||
require_once SihnonFramework_Lib . 'SihnonFramework/Main.class.php';
|
||||
|
||||
SihnonFramework_Main::registerAutoloadClasses('SihnonFramework', SihnonFramework_Lib,
|
||||
'RippingCluster', SihnonFramework_Main::makeAbsolutePath('../source/lib/'));
|
||||
'RippingCluster', RippingCluster_Lib);
|
||||
|
||||
?>
|
||||
|
||||
@@ -6,6 +6,7 @@ require '_inc.php';
|
||||
|
||||
try {
|
||||
$main = RippingCluster_Main::instance();
|
||||
RippingCluster_LogEntry::setLocalProgname('webui');
|
||||
$smarty = $main->smarty();
|
||||
|
||||
$page = new RippingCluster_Page($smarty, $main->request());
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
define('HBC_File', 'run-jobs');
|
||||
|
||||
require_once '../private/config.php';
|
||||
require_once '/etc/ripping-cluster/config.php';
|
||||
require_once(SihnonFramework_Lib . 'SihnonFramework/Main.class.php');
|
||||
require_once 'Net/Gearman/Client.php';
|
||||
|
||||
SihnonFramework_Main::registerAutoloadClasses('SihnonFramework', SihnonFramework_Lib,
|
||||
'RippingCluster', SihnonFramework_Main::makeAbsolutePath('../source/lib/'));
|
||||
'RippingCluster', RippingCluster_Lib);
|
||||
|
||||
try {
|
||||
$main = RippingCluster_Main::instance();
|
||||
@@ -34,7 +34,7 @@ try {
|
||||
// Start the job queue
|
||||
$result = $client->runSet($set);
|
||||
|
||||
RippingCluster_LogEntry::info($log, 'Job queue completed', 'batch');
|
||||
RippingCluster_ClientLogEntry::info($log, null, 'Job queue completed', 'batch');
|
||||
|
||||
} catch (RippingCluster_Exception $e) {
|
||||
die("Uncaught Exception (" . get_class($e) . "): " . $e->getMessage() . "\n");
|
||||
@@ -55,7 +55,7 @@ function gearman_fail($task) {
|
||||
$main = RippingCluster_Main::instance();
|
||||
$log = $main->log();
|
||||
|
||||
$job = RippingCluster_Job::fromId($task->args['rip_options']['id']);
|
||||
$job = RippingCluster_Job::fromId($task->arg['rip_options']['id']);
|
||||
$job->updateStatus(RippingCluster_JobStatus::FAILED);
|
||||
|
||||
RippingCluster_ClientLogEntry::info($log, $job->id(), 'Job failed');
|
||||
|
||||
@@ -2,13 +2,23 @@
|
||||
|
||||
define('HBC_File', 'worker');
|
||||
|
||||
require_once '../private/config.php';
|
||||
$options = array();
|
||||
if (isset($_SERVER['argv'])) {
|
||||
$options = getopt('c:', array('config:'));
|
||||
}
|
||||
|
||||
if (isset($options['config'])) {
|
||||
require_once $options['config'];
|
||||
} else {
|
||||
require_once '/etc/ripping-cluster/config.php';
|
||||
}
|
||||
|
||||
require_once(SihnonFramework_Lib . 'SihnonFramework/Main.class.php');
|
||||
require_once 'Net/Gearman/Worker.php';
|
||||
|
||||
SihnonFramework_Main::registerAutoloadClasses('SihnonFramework', SihnonFramework_Lib,
|
||||
'RippingCluster', SihnonFramework_Main::makeAbsolutePath('../source/lib/'));
|
||||
SihnonFramework_Main::registerAutoloadClasses('Net', SihnonFramework_Main::makeAbsolutePath('../source/lib/'));
|
||||
'RippingCluster', SihnonFramework_Main::makeAbsolutePath(RippingCluster_Lib));
|
||||
SihnonFramework_Main::registerAutoloadClasses('Net', SihnonFramework_Main::makeAbsolutePath(RippingCluster_Lib));
|
||||
|
||||
|
||||
try {
|
||||
@@ -16,6 +26,7 @@ try {
|
||||
set_time_limit(0);
|
||||
|
||||
$main = RippingCluster_Main::instance();
|
||||
RippingCluster_LogEntry::setLocalProgname('ripping-cluster-worker');
|
||||
$smarty = $main->smarty();
|
||||
|
||||
$worker = new RippingCluster_Worker();
|
||||
Reference in New Issue
Block a user