Drupal: check if my process already running (started in the last 10 minutes / 600 seconds)

Solution:

<?php

namespace Drupal\my_custom_module1\Controller;
use Drupal\Core\Controller\ControllerBase;


class MyCustomClass123 extends ControllerBase
{
    public function main()
    {
        // check if my process already running (started in the last 10 minutes / 600 seconds)
        if(  $this->my_custom_module1_check_if_process_running() == 1) {

            return [
                '#type' => 'inline_template',
                '#template' => '{{ myhtml|raw }}',
                '#context' => [ 'myhtml' => date(" Y-m-d H:i:s ") . "Duplicate : Another instance of this process is already running! "]
            ];
        }

		// if process not running execute code here
	}


    public function my_custom_module1_check_if_process_running(){

        $my_custom_module1_process_last_timestamp = \Drupal::state()->get('my_custom_module1_process_last_timestamp') ?? 0;

		if(time() - $my_custom_module1_process_last_timestamp) < 600){
			// update / set system var 
			\Drupal::state()->set('my_custom_module1_process_last_timestamp', time() );
			return 0;
		}
        return 1;
    }
}

 

 

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 1 week ago
    Bypass htaccess-htpasswd if IP = valid

    Für Apache 2.4 + Plesk 18:

    Config File: var/www/vhosts/system/test.example.com/conf/httpd.conf

  • 1 day ago
    Install APCu (PHP 8.1, Plesk)

    RAM ist 32 MB. Wie kann ich es erhöhen?

  • 2 months 3 weeks ago
    Formulare: alle Text Felder mit Test / Demo Daten füllen (mit JQuery)
    $("input[type='radio']").each(function () {
  • 6 months ago
    How to Renew Let’s Encrypt SSL Certificate on Plesk via Ubuntu Shell

    Let’s Encrypt will only accept a wildcard via DNS challenge. 

    If your Plesk instance can’t create the _acme-challenge.example.com TXT (external DNS), the extension can’t complete validation and will show no success. 

  • 6 months 1 week ago
    Warning: Undefined array key "url" in Drupal\Core\Asset\CssCollectionOptimizerLazy->optimizeGroup()
    Warning: Undefined array key "url" in Drupal\Core\Asset\JsCollectionOptimizerLazy->optimizeGroup() 
  • 6 months 1 week ago
    Server install & config : Debian 12 + Plesk + Apache + nginx + MariaDB + Solr
    sudo timedatectl set-timezone Europe/Berlin
  • 6 months 2 weeks ago
    Warning: PHP Startup: Unable to load dynamic library 'apcu.so' ... cannot open shared object file: No such file or directory

    Try this:

  • 6 months 4 weeks ago
    List Cronjobs for all users (via for + crontab)

    Alternative (without warnings like "no crontab for dovecot") to see all tasks:

  • 6 months 4 weeks ago
    Install APCu (PHP 8.1, Plesk)

    php 8.3 apcu failed

    über Plesk hat es geklappt.

     

  • 6 months 4 weeks ago
    Install APCu (PHP 8.1, Plesk)

     

    install:

    # sudo apt install php-dev