abstract class LauncherBase in Ultimate Cron 8.2
Abstract class for Ultimate Cron launchers.
A launcher is responsible for locking and launching/running a job.
Abstract methods: lock($job)
- Lock a job. This method must return the lock_id on success or FALSE on failure.
unlock($lock_id, $manual = FALSE)
- Release a specific lock id. If $manual is set, then the release was triggered manually by a user.
isLocked($job)
- Check if a job is locked. This method must return the current
- lock_id for the given job, or FALSE if it is not locked.
launch($job)
- This method launches/runs the given job. This method must handle the locking of job before launching it. Returns TRUE on successful launch, FALSE if not.
Important methods: isLockedMultiple($jobs)
- Check locks for multiple jobs. Each launcher should implement an optimized version of this method if possible.
launchJobs($jobs)
- Launches the jobs provided to it. A default implementation of this exists, but can be overridden. It is assumed that this function checks the jobs schedule before launching and that it also handles locking wrt concurrency for the launcher itself.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\ultimate_cron\CronPlugin implements ConfigurableInterface, DependentPluginInterface, PluginInspectionInterface, PluginFormInterface
- class \Drupal\ultimate_cron\Launcher\LauncherBase implements LauncherInterface
- class \Drupal\ultimate_cron\CronPlugin implements ConfigurableInterface, DependentPluginInterface, PluginInspectionInterface, PluginFormInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of LauncherBase
1 file declares its use of LauncherBase
- SerialLauncher.php in src/
Plugin/ ultimate_cron/ Launcher/ SerialLauncher.php
File
- src/
Launcher/ LauncherBase.php, line 43
Namespace
Drupal\ultimate_cron\LauncherView source
abstract class LauncherBase extends CronPlugin implements LauncherInterface {
/**
* {@inheritdoc}
*/
public function isLockedMultiple(array $jobs) {
$lock_ids = array();
foreach ($jobs as $name => $job) {
$lock_ids[$name] = $this
->isLocked($job);
}
}
/**
* {@inheritdoc}
*/
public function launchJobs(array $jobs) {
foreach ($jobs as $job) {
if ($job
->isScheduled()) {
$job
->launch();
}
}
}
/**
* {@inheritdoc}
*/
public function formatRunning(CronJobInterface $job) {
$file = drupal_get_path('module', 'ultimate_cron') . '/icons/hourglass.png';
$status = [
'#theme' => 'image',
'#uri' => $file,
];
$title = t('running');
return array(
$status,
$title,
);
}
/**
* {@inheritdoc}
*/
public function formatUnfinished(CronJobInterface $job) {
$file = drupal_get_path('module', 'ultimate_cron') . '/icons/lock_open.png';
$status = [
'#theme' => 'image',
'#uri' => $file,
];
$title = t('unfinished but not locked?');
return array(
$status,
$title,
);
}
/**
* {@inheritdoc}
*/
public function formatProgress(CronJobInterface $job, $progress) {
$progress = $progress ? sprintf("(%d%%)", round($progress * 100)) : '';
return $progress;
}
/**
* {@inheritdoc}
*/
public function initializeProgress(CronJobInterface $job) {
\Drupal::service('ultimate_cron.progress')
->setProgress($job
->id(), FALSE);
}
/**
* {@inheritdoc}
*/
public function finishProgress(CronJobInterface $job) {
\Drupal::service('ultimate_cron.progress')
->setProgress($job
->id(), FALSE);
}
/**
* {@inheritdoc}
*/
public function getProgress(CronJobInterface $job) {
return \Drupal::service('ultimate_cron.progress')
->getProgress($job
->id());
}
/**
* {@inheritdoc}
*/
public function getProgressMultiple(array $jobs) {
return \Drupal::service('ultimate_cron.progress')
->getProgressMultiple(array_keys($jobs));
}
/**
* {@inheritdoc}
*/
public function setProgress(CronJobInterface $job, $progress) {
\Drupal::service('ultimate_cron.progress')
->setProgress($job
->id(), $progress);
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CronPlugin:: |
public static | property | ||
CronPlugin:: |
public static | property | ||
CronPlugin:: |
public static | property | 1 | |
CronPlugin:: |
public | property | ||
CronPlugin:: |
public | function |
Form constructor. Overrides PluginFormInterface:: |
4 |
CronPlugin:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
CronPlugin:: |
public | function | Clean form of empty fallback values. | |
CronPlugin:: |
public | function |
Gets default configuration for this plugin. Overrides ConfigurableInterface:: |
4 |
CronPlugin:: |
public | function | Modified version drupal_array_get_nested_value(). | |
CronPlugin:: |
public | function | Process fallback form parameters. | |
CronPlugin:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
CronPlugin:: |
public static | function | Get global plugin option. | |
CronPlugin:: |
public static | function | Get all global plugin options. | |
CronPlugin:: |
public static | function | Returns a list of plugin types. | |
CronPlugin:: |
public | function | Default plugin valid for all jobs. | 1 |
CronPlugin:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
CronPlugin:: |
public static | function | Set global plugin option. | |
CronPlugin:: |
public | function | Get label for a specific setting. | 1 |
CronPlugin:: |
public | function |
Form submission handler. Overrides PluginFormInterface:: |
|
CronPlugin:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
1 |
CronPlugin:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
2 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
LauncherBase:: |
public | function |
Default implementation of finishProgress(). Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Default implementation of formatProgress(). Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Format running state. Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Format unfinished state. Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Default implementation of getProgress(). Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Default implementation of getProgressMultiple(). Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Default implementation of initializeProgress(). Overrides LauncherInterface:: |
|
LauncherBase:: |
public | function |
Fallback implementation of multiple lock check. Overrides LauncherInterface:: |
1 |
LauncherBase:: |
public | function |
Default implementation of jobs launcher. Overrides LauncherInterface:: |
1 |
LauncherBase:: |
public | function |
Default implementation of setProgress(). Overrides LauncherInterface:: |
|
LauncherInterface:: |
public | function | Check if a job is locked. | 1 |
LauncherInterface:: |
public | function | Launch job. | 1 |
LauncherInterface:: |
public | function | Lock job. | 1 |
LauncherInterface:: |
public | function | Unlock a lock. | 1 |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |