You are here

class Simple in Ultimate Cron 8.2

Simple scheduler.

Plugin annotation


@SchedulerPlugin(
  id = "simple",
  title = @Translation("Simple"),
  description = @Translation("Provides a set of predefined intervals for scheduling."),
)

Hierarchy

Expanded class hierarchy of Simple

1 file declares its use of Simple
SchedulerPluginTest.php in tests/src/Kernel/SchedulerPluginTest.php
2 string references to 'Simple'
SchedulerSettingsForm::buildForm in src/Form/SchedulerSettingsForm.php
Form constructor.
ultimate_cron.schema.yml in config/schema/ultimate_cron.schema.yml
config/schema/ultimate_cron.schema.yml

File

src/Plugin/ultimate_cron/Scheduler/Simple.php, line 17

Namespace

Drupal\ultimate_cron\Plugin\ultimate_cron\Scheduler
View source
class Simple extends Crontab {
  public $presets = array(
    '* * * * *' => 60,
    '*/5+@ * * * *' => 300,
    '*/15+@ * * * *' => 900,
    '*/30+@ * * * *' => 1800,
    '0+@ * * * *' => 3600,
    '0+@ */3 * * *' => 10800,
    '0+@ */6 * * *' => 21600,
    '0+@ */12 * * *' => 43200,
    '0+@ 0 * * *' => 86400,
    '0+@ 0 * * 0' => 604800,
  );

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return array(
      'rules' => array(
        '*/15+@ * * * *',
      ),
    ) + parent::defaultConfiguration();
  }

  /**
   * {@inheritdoc}
   */
  public function settingsLabel($name, $value) {
    switch ($name) {
      case 'rules':
        return isset($value[0]) ? \Drupal::service('date.formatter')
          ->formatInterval($this->presets[$value[0]]) : $value;
    }
    return parent::settingsLabel($name, $value);
  }

  /**
   * {@inheritdoc}
   */
  public function formatLabel(CronJob $job) {
    return t('Every @interval', array(
      '@interval' => \Drupal::service('date.formatter')
        ->formatInterval($this->presets[$this->configuration['rules'][0]]),
    ));
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $date_formatter = \Drupal::service('date.formatter');
    $intervals = array_map(array(
      $date_formatter,
      'formatInterval',
    ), $this->presets);
    $form['rules'][0] = array(
      '#type' => 'select',
      '#title' => t('Run cron every'),
      '#default_value' => $this->configuration['rules'][0],
      '#description' => t('Select the interval you wish cron to run on.'),
      '#options' => $intervals,
      '#fallback' => TRUE,
      '#required' => TRUE,
    );
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CronPlugin::$globalOptions public static property
CronPlugin::$instances public static property
CronPlugin::$multiple public static property 1
CronPlugin::$weight public property
CronPlugin::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
CronPlugin::cleanForm public function Clean form of empty fallback values.
CronPlugin::drupal_array_remove_nested_value public function Modified version drupal_array_get_nested_value().
CronPlugin::fallbackalize public function Process fallback form parameters.
CronPlugin::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurableInterface::getConfiguration
CronPlugin::getGlobalOption public static function Get global plugin option.
CronPlugin::getGlobalOptions public static function Get all global plugin options.
CronPlugin::getPluginTypes public static function Returns a list of plugin types.
CronPlugin::isValid public function Default plugin valid for all jobs. 1
CronPlugin::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration
CronPlugin::setGlobalOption public static function Set global plugin option.
CronPlugin::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm
CronPlugin::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase::__construct 2
Crontab::formatLabelVerbose public function Label for schedule. Overrides SchedulerInterface::formatLabelVerbose
Crontab::getSkew protected function Get a "unique" skew for a job.
Crontab::isBehind public function Check if job is behind schedule. Overrides SchedulerBase::isBehind
Crontab::isScheduled public function Check job schedule. Overrides SchedulerBase::isScheduled
Crontab::settingsFormSubmit public function
Crontab::shouldRun public static function
Crontab::validateConfigurationForm public function Form validation handler. Overrides CronPlugin::validateConfigurationForm
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
Simple::$presets public property
Simple::buildConfigurationForm public function Form constructor. Overrides Crontab::buildConfigurationForm
Simple::defaultConfiguration public function Default settings. @todo: $catch_up is randomly failing when value is low in some situation. 0 value is ignoring catch_up checks. Overrides Crontab::defaultConfiguration
Simple::formatLabel public function Label for schedule. Overrides Crontab::formatLabel
Simple::settingsLabel public function Get label for a specific setting. Overrides CronPlugin::settingsLabel
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.