Giter VIP home page Giter VIP logo

processmanager's Introduction

Pimcore Process Manager Bundle

The Process Manager allows you to manage (define,execute...) arbitrary processes/commands in the Pimcore backend. You can display the execution progress of the script in the admin interface and the user can view the detailed log information. In addition you can define "actions" - e.g. download of a file after the process has finished. Furthermore callback actions are available (custom settings which the user can define for runtime execution) and the processes are monitored (you get an email if a process dies)

Key features:

  • Execute custom script in background
  • Report the current execution state to the customer in the Pimcore admin
  • Define loggers (email, file, application logger)... per process
  • View detailed debug log information in the Pimcore admin
  • Scripts are monitored and you will receive an email if a job fails
  • Provide custom actions after a job has finished (e.g download a file)
  • Define custom Callback-Windows to provide the user the ability to define runtime execution options
  • Store/Manage CallbackSettings and reuse them at execution time
  • Define/execute the scripts as cronjobs
  • Support multiprocessing (execute multiple processes parallel)

Topics

First impressions:

Job execution by user: process-manager-log

Job execution state: process-manager-log

Job configuration: process-manager-job-management

Define Loggers per process / job: process-manager-job-management

Callback settings (user defined runtime settings): callback-settings

processmanager's People

Contributors

alternateif avatar andreas-gruenwald avatar apochmann avatar blackbitdevs avatar brusch avatar butterd avatar ctippler avatar danmichaelo avatar fashxp avatar fmacho-elements avatar galcf avatar gerhard-kanzler avatar itspirit avatar j-jonas avatar jremmurd avatar maff avatar mercurykojo avatar msteyrer avatar muratbinerbay avatar niklasbr avatar palazzetti avatar putzflorian avatar rberneder avatar siwa-srittberger avatar ultramegatom avatar vmalyk avatar weisswurstkanone avatar youwe-petervanderwal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

processmanager's Issues

Pimcore Command with extension prevent command execution

When i create a job to run a pimcore-command (from an bundle - in this case "enqueue:consume") the process manager add to the command line

"--monitoring-item-id=174"

This will break the command with:

The "--monitoring-item-id" option does not exist.

Not sure if it works with "normal" pimcore-commands, but these one breaks. Only solution - call the command via cronjob (not seen, not monitored).

Maybe it would be fine to omit these "monitoring-item-id" on request on specific commands?

Multiprocessing improvement

Move logic for multiprocessing to a own Class/Serivce so it is easier to extend it and to call it from somewhere else as in the command.

Maintenance not working anymore after upgrading to 3.0.34

Hi,

Since the upgrade to 3.0.34. we get the notice to setup maintenance in PimCore.

When running the maintenance manually I receive these errors:

12:26:52 EMERGENCY [pimcore] PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'deleteAfterHours' in 'where clause' in /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:96
Stack trace:
#0 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(96): PDO->query('SELECT id FROM ...')
#1 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1159): Doctrine\DBAL\Driver\PDOConnection->query('SELECT id FROM ...')
#2 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(93): Doctrine\DBAL\Connection->executeQuery('SELECT id FROM ...', Array, Array, NULL)
#3 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(279): Pimcore\Db\Connection->executeQuery('SELECT id FROM ...', Array, Array)
#4 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Model/MonitoringItem/Listing/Dao.php(62): Pimcore\Db\Connection->fetchCol('SELECT id FROM ...', Array)
#5 [internal function]: Elements\Bundle\ProcessManagerBundle\Model\MonitoringItem\Listing\Dao->load()
#6 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Model/AbstractModel.php(242): call_user_func_array(Array, Array)
#7 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(52): Pimcore\Model\AbstractModel->__call('load', Array)
#8 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(45): Elements\Bundle\ProcessManagerBundle\Maintenance->deleteExpiredMonitoringItems()
#9 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance/MaintenanceTask.php(41): Elements\Bundle\ProcessManagerBundle\Maintenance->execute()
#10 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Maintenance/Executor.php(95): Elements\Bundle\ProcessManagerBundle\Maintenance\MaintenanceTask->execute()
#11 /var/www/html/pimcore/vendor/pimcore/pimcore/bundles/CoreBundle/Command/MaintenanceCommand.php(93): Pimcore\Maintenance\Executor->executeMaintenance(Array, Array, false)
#12 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(255): Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(1027): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(97): Symfony\Component\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(273): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(83): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(149): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/pimcore/bin/console(26): Symfony\Component\Console\Application->run()
#19 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'deleteAfterHours' in 'where clause' in /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
Stack trace:
#0 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(101): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))
#1 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1159): Doctrine\DBAL\Driver\PDOConnection->query('SELECT id FROM ...')
#2 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(93): Doctrine\DBAL\Connection->executeQuery('SELECT id FROM ...', Array, Array, NULL)
#3 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(279): Pimcore\Db\Connection->executeQuery('SELECT id FROM ...', Array, Array)
#4 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Model/MonitoringItem/Listing/Dao.php(62): Pimcore\Db\Connection->fetchCol('SELECT id FROM ...', Array)
#5 [internal function]: Elements\Bundle\ProcessManagerBundle\Model\MonitoringItem\Listing\Dao->load()
#6 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Model/AbstractModel.php(242): call_user_func_array(Array, Array)
#7 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(52): Pimcore\Model\AbstractModel->__call('load', Array)
#8 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(45): Elements\Bundle\ProcessManagerBundle\Maintenance->deleteExpiredMonitoringItems()
#9 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance/MaintenanceTask.php(41): Elements\Bundle\ProcessManagerBundle\Maintenance->execute()
#10 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Maintenance/Executor.php(95): Elements\Bundle\ProcessManagerBundle\Maintenance\MaintenanceTask->execute()
#11 /var/www/html/pimcore/vendor/pimcore/pimcore/bundles/CoreBundle/Command/MaintenanceCommand.php(93): Pimcore\Maintenance\Executor->executeMaintenance(Array, Array, false)
#12 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(255): Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(1027): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(97): Symfony\Component\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(273): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(83): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(149): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/pimcore/bin/console(26): Symfony\Component\Console\Application->run()
#19 {main}

Next Doctrine\DBAL\Exception\InvalidFieldNameException: An exception occurred while executing 'SELECT id FROM plugin_process_manager_monitoring_item WHERE (status = "finished" OR status = "finished_with_errors") AND (deleteAfterHours > 0 AND (UNIX_TIMESTAMP()-(deleteAfterHours*3600)) > modificationDate) ':

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'deleteAfterHours' in 'where clause' in /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:79
Stack trace:
#0 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(182): Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException('An exception oc...', Object(Doctrine\DBAL\Driver\PDO\Exception))
#1 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(159): Doctrine\DBAL\DBALException::wrapException(Object(Doctrine\DBAL\Driver\PDO\MySQL\Driver), Object(Doctrine\DBAL\Driver\PDO\Exception), 'An exception oc...')
#2 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(2021): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDO\MySQL\Driver), Object(Doctrine\DBAL\Driver\PDO\Exception), 'SELECT id FROM ...', Array)
#3 /var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1163): Doctrine\DBAL\Connection->handleExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDO\Exception), 'SELECT id FROM ...', Array, Array)
#4 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(93): Doctrine\DBAL\Connection->executeQuery('SELECT id FROM ...', Array, Array, NULL)
#5 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php(279): Pimcore\Db\Connection->executeQuery('SELECT id FROM ...', Array, Array)
#6 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Model/MonitoringItem/Listing/Dao.php(62): Pimcore\Db\Connection->fetchCol('SELECT id FROM ...', Array)
#7 [internal function]: Elements\Bundle\ProcessManagerBundle\Model\MonitoringItem\Listing\Dao->load()
#8 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Model/AbstractModel.php(242): call_user_func_array(Array, Array)
#9 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(52): Pimcore\Model\AbstractModel->__call('load', Array)
#10 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php(45): Elements\Bundle\ProcessManagerBundle\Maintenance->deleteExpiredMonitoringItems()
#11 /var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance/MaintenanceTask.php(41): Elements\Bundle\ProcessManagerBundle\Maintenance->execute()
#12 /var/www/html/pimcore/vendor/pimcore/pimcore/lib/Maintenance/Executor.php(95): Elements\Bundle\ProcessManagerBundle\Maintenance\MaintenanceTask->execute()
#13 /var/www/html/pimcore/vendor/pimcore/pimcore/bundles/CoreBundle/Command/MaintenanceCommand.php(93): Pimcore\Maintenance\Executor->executeMaintenance(Array, Array, false)
#14 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(255): Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(1027): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(97): Symfony\Component\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(273): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\MaintenanceCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(83): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(149): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /var/www/html/pimcore/bin/console(26): Symfony\Component\Console\Application->run()
#21 {main}
12:26:52 ERROR [app] Failed to execute job with ID process_manager_maintenance: Doctrine\DBAL\Exception\InvalidFieldNameException {-driverException: Doctrine\DBAL\Driver\PDO\Exception {#1 …}#message: """ An exception occurred while executing 'SELECT id FROM plugin_process_manager_monitoring_item WHERE (status = "finished" OR status = "finished_with_errors") AND (deleteAfterHours > 0 AND (UNIX_TIMESTAMP()-(deleteAfterHours*3600)) > modificationDate) ':\n \n SQLSTATE[42S22]: Column not found: 1054 Unknown column 'deleteAfterHours' in 'where clause' """#code: 0#file: "/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php"#line: 79-previous: Doctrine\DBAL\Driver\PDO\Exception {#1 …}trace: {/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:79 { …}/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:182 { …}/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:159 { …}/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:2021 { …}/var/www/html/pimcore/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1163 { …}/var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php:93 { …}/var/www/html/pimcore/vendor/pimcore/pimcore/lib/Db/PimcoreExtensionsTrait.php:279 { …}/var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Model/MonitoringItem/Listing/Dao.php:62 { …}Elements\Bundle\ProcessManagerBundle\Model\MonitoringItem\Listing\Dao->load() {}/var/www/html/pimcore/vendor/pimcore/pimcore/lib/Model/AbstractModel.php:242 { …}/var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php:52 { …}/var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance.php:45 { …}/var/www/html/pimcore/vendor/elements/process-manager-bundle/src/Maintenance/MaintenanceTask.php:41 { …}/var/www/html/pimcore/vendor/pimcore/pimcore/lib/Maintenance/Executor.php:95 { …}/var/www/html/pimcore/vendor/pimcore/pimcore/bundles/CoreBundle/Command/MaintenanceCommand.php:93 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:255 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:1027 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:97 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:273 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:83 { …}/var/www/html/pimcore/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:149 { …}/var/www/html/pimcore/bin/console:26 {› $application = new \Pimcore\Console\Application($kernel);› $application->run();› } …}} ["id" => "process_manager_maintenance","exception" => Doctrine\DBAL\Exception\InvalidFieldNameException^ { …}]

This is related to ProcessManager and not related to PimCore (pimcore/pimcore#7333).

Is this a known issue and can this be fixed?

Implement auto migration execution

Automatic migration on updating bundle¶
When a bundle gets updated via Composer, the bundle migrations can be automatically executed by adding "Pimcore\Composer::executeBundleMigrationsUp" to the post-update-cmd section of your composer.json scripts section.

In the same way you can disable this feature just remove the mentioned call from your composer.json.

@see: https://pimcore.com/docs/pimcore/current/Development_Documentation/Extending_Pimcore/Bundle_Developers_Guide/Pimcore_Bundles/Installers.html

Impossible to run with different system user

The Function
\Pimcore\Tool\Console::checkExecutingUser();
allows to pass an array with allowes users to execute.
Within ProcessManager in the Trait these function is been called at Line 114 within "initProcessManager"

In the Sample Command there is an additional call to the same method.
There i've the option to pass more differente users like:

    \Pimcore\Tool\Console::checkExecutingUser(['www-data', 'deployer', 'vagrant']);

Would make sense to give the option to initProcessManager, maybe in this manner:

$allowedUsers = isset($options['allowedUsers']) && is_array($options['allowedUsers']) ? $options['allowedUsers'] : [];
unset($options['allowedUsers']);
........
\Pimcore\Tool\Console::checkExecutingUser($allowedUsers);

Monitoring Item log

Add Button to log-Grid to reopen the Callback Window of the process with the given callback settings

[ClassificationStore] group page is not correct

If you have more than 25 groups in case of 25 items per page in the classification store group interface the page count is not displayed correctly. it is showing "Page 1 / 1" although there is more than one page.

The next page button is working though. If you click it the max page value is updated. The Max Item Count (e.g. 1 - 25 / 28) is also correct

tested on the new demo

Action not saved at monitoring item

Action settings of the processes aren't save to the monitoringItem - only in fresh installations - seems to be an Migration issue.
Solution -> Add column to monitoring item table

Errors during installation on Pimcore 6 Skeleton

Hi Elements team,

I just installed process-manager 3.0.0 on Pimcore 6 Skeleton
I have errors during bundle enable, bundle install and pimcore admin launching
var/config/plugin-process-manager.php is present

I paste here after the log

Thanks for your help
Pierre

composer.json :
"elements/process-manager-bundle": "^3.0"

Installing bundle :
# bin/console pimcore:bundle:list
+---------------------------------+---------+-----------+----+-----+-----+
| Bundle | Enabled | Installed | I? | UI? | UP? |
+---------------------------------+---------+-----------+----+-----+-----+
| ElementsProcessManagerBundle | ❌ | ❌ | ❌ | ❌ | ❌ |
| PimcoreEcommerceFrameworkBundle | ❌ | ❌ | ❌ | ❌ | ❌ |
| TestingMoreBundle | ❌ | ❌ | ❌ | ❌ | ❌ |
+---------------------------------+---------+-----------+----+-----+-----+

Legend: I?: Can be installed? UI?: Can be uninstalled? UP?: Can be updated?
# bin/console pimcore:bundle:enable ElementsProcessManagerBundle


 [OK] Bundle "Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle" was successfully enabled



Running post state change commands
----------------------------------

 // Running bin/console assets:install...


 Trying to install assets as relative symbolic links.

 --- ------------------------------ ------------------
      Bundle                         Method / Error
 --- ------------------------------ ------------------
  ✔   PimcoreCoreBundle              relative symlink
  ✔   PimcoreAdminBundle             relative symlink
  ✔   ElementsProcessManagerBundle   relative symlink
 --- ------------------------------ ------------------


 [OK] All assets were successfully installed.


15:36:44 ERROR     [pimcore] ErrorException: Warning: include(/var/www/html/var/config/plugin-process-manager.php): failed to open stream: No such file or directory in /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/ElementsProcessManagerBundle.php:170
Stack trace:
#0 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/ElementsProcessManagerBundle.php(170): include()
#1 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/Installer.php(29): Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle::getConfig()
#2 /var/www/html/vendor/pimcore/pimcore/lib/Extension/Bundle/PimcoreBundleManager.php(559): Elements\Bundle\ProcessManagerBundle\Installer->isInstalled()
#3 /var/www/html/vendor/pimcore/pimcore/lib/Extension/Bundle/Traits/StateHelperTrait.php(60): Pimcore\Extension\Bundle\PimcoreBundleManager->isInstalled(Object(Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle))
#4 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/SystemEventsListener.php(60): Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle::isInstalled()
#5 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php(126): Elements\Bundle\ProcessManagerBundle\SystemEventsListener->onConsoleTerminate(Object(Symfony\Component\Console\Event\ConsoleTerminateEvent), 'console.termina...', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#6 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(260): Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(Object(Symfony\Component\Console\Event\ConsoleTerminateEvent), 'console.termina...', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#7 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(235): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'console.termina...', Object(Symfony\Component\Console\Event\ConsoleTerminateEvent))
#8 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(75): Symfony\Component\EventDispatcher\EventDispatcher->callListeners(Array, 'console.termina...', Object(Symfony\Component\Console\Event\ConsoleTerminateEvent))
#9 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php(168): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Symfony\Component\Console\Event\ConsoleTerminateEvent), 'console.termina...')
#10 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(954): Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(Object(Symfony\Component\Console\Event\ConsoleTerminateEvent), 'console.termina...')
#11 /var/www/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(87): Symfony\Component\Console\Application->doRunCommand(Object(Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(273): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand(Object(Symfony\Bundle\FrameworkBundle\Command\AssetsInstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(73): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(149): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/bin/console(26): Symfony\Component\Console\Application->run()
#16 {main}

 // Running bin/console cache:clear...


 // Clearing the cache for the dev environment with debug
 // true


 [OK] Cache for the "dev" environment (debug=true) was successfully cleared.


# bin/console pimcore:bundle:install ElementsProcessManagerBundle
*15:37:12 ERROR     [pimcore] ErrorException: Warning: include(/var/www/html/var/config/plugin-process-manager.php): failed to open stream: No such file or directory in /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/ElementsProcessManagerBundle.php:170
Stack trace:
#0 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/ElementsProcessManagerBundle.php(170): include()
#1 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/Installer.php(29): Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle::getConfig()
#2 /var/www/html/vendor/elements/process-manager-bundle/src/Elements/Bundle/ProcessManagerBundle/Installer.php(47): Elements\Bundle\ProcessManagerBundle\Installer->isInstalled()
#3 /var/www/html/vendor/pimcore/pimcore/lib/Extension/Bundle/PimcoreBundleManager.php(522): Elements\Bundle\ProcessManagerBundle\Installer->canBeInstalled()
#4 /var/www/html/vendor/pimcore/pimcore/lib/Extension/Bundle/PimcoreBundleManager.php(480): Pimcore\Extension\Bundle\PimcoreBundleManager->canBeInstalled(Object(Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle))
#5 /var/www/html/vendor/pimcore/pimcore/bundles/CoreBundle/Command/Bundle/InstallCommand.php(44): Pimcore\Extension\Bundle\PimcoreBundleManager->install(Object(Elements\Bundle\ProcessManagerBundle\ElementsProcessManagerBundle))
#6 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(255): Pimcore\Bundle\CoreBundle\Command\Bundle\InstallCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(939): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /var/www/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(87): Symfony\Component\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\Bundle\InstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(273): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand(Object(Pimcore\Bundle\CoreBundle\Command\Bundle\InstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(73): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(149): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/html/bin/console(26): Symfony\Component\Console\Application->run()
#13 {main}


 [OK] Bundle "ElementsProcessManagerBundle" was successfully installed


# bin/console pimcore:bundle:list
+---------------------------------+---------+-----------+----+-----+-----+
| Bundle                          | Enabled | Installed | I? | UI? | UP? |
+---------------------------------+---------+-----------+----+-----+-----+
| ElementsProcessManagerBundle    | ✔       | ✔         | ❌  | ❌   | ❌   |
| PimcoreEcommerceFrameworkBundle | ❌       | ❌         | ❌  | ❌   | ❌   |
| TestingMoreBundle               | ❌       | ❌         | ❌  | ❌   | ❌   |
+---------------------------------+---------+-----------+----+-----+-----+

Legend: I?: Can be installed? UI?: Can be uninstalled? UP?: Can be updated?
#

Launching pimcore admin or clicking Tools/Plugin button :
Server threw exception - could not perform action. Please reload the admin interface and try again.

Timestamp: Wed Jun 26 2019 15:44:13 GMT+0200 (heure d’été d’Europe centrale)
Status: 404 | Not Found
URL: /admin/elementsprocessmanager/index/get-plugin-config
Message: No route found for "GET /admin/elementsprocessmanager/index/get-plugin-config" (from "http://pimplaying6.local:8002/admin/")
Trace: 
#0 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php(126): Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#1 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(260): Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#2 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(235): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'kernel.request', Object(Symfony\Component\HttpKernel\Event\RequestEvent))
#3 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(75): Symfony\Component\EventDispatcher\EventDispatcher->callListeners(Array, 'kernel.request', Object(Symfony\Component\HttpKernel\Event\RequestEvent))
#4 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php(168): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request')
#5 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php(127): Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request')
#6 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#7 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(198): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /var/www/html/web/app.php(36): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#9 {main}

Monitoring Item failed with children process

When using Symfony Process to run multiple process (For memory and speed issues) the monitoring item set state to finish for each child due to onConsoleTerminate handler and monitoring item passing by env vars.
To resolve this issue, I reset the concerned env var :

$env = getenv();
$env[ElementsProcessManagerBundle::MONITORING_ITEM_ENV_VAR] = '';
$process = new Process([
    'php', 'bin/console',
    'subprocess',
    '--monitoring-item-id', $this->getMonitoringId(),
    '--sub-process-key', $key
], PIMCORE_PROJECT_ROOT, $env, null, $timeout);

And i also add a thread safe "increment workload" function.
It would be nice to have an option to better handle sub process by default

Report error state when transaction is started

If an exception occurres within an transaction we currently to not get the error Reported in the backend because the monitoring item can't be updated (because the transaction won't be committed).

Maybe check for
if(\Pimcore\Db::get()->isTransactionActive()){
}
in save() method of the monitoring item and create a new connetion to update the state?

Duration time is wrong after setting the reportedDate

You calculate the duration time with the two database fields "creationDate" and "modificationDate", but when you are set the "reportedDate" you also set a new "modificationDate".
I think you need another field for an "endDate" or you are not allowed to change "modificationDate", if you only want to change the "reportedDate".

[ClassificationStore] - adding groups with the same name

Currently it is not possible to add multiple classification store groups with the same name.
The create-group request returns true although the group is never added

  1. It should either be possible to add a group with the same name (the group is identified by id anyway - similar to classification store keys where adding multiple keys with the same name is possible)
  2. Or there should be displayed an error message upon trying to add a new group with a name that already exists

tested on the new pimcore demo

Error when accessing tasks list in backend

Hello,

I use Process Manager v 3.0.11 and Pimcore latest (dev-master)
When trying to access the tasks panel in backend, i have a modal with this error :

Timestamp: Fri Dec 13 2019 15:05:37 GMT+0100 (heure normale d’Europe centrale)
Status: 500 | Internal Server Error
URL: /admin/elementsprocessmanager/index/get-plugin-config
Message: Call to a member function getGroup() on null
Trace: 
in /var/www/html/vendor/elements/process-manager-bundle/src/Controller/IndexController.php:104
#0 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php(146): Elements\Bundle\ProcessManagerBundle\Controller\IndexController->getPluginConfigAction(Object(Symfony\Component\HttpFoundation\Request))
#1 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#2 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(201): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#3 /var/www/html/web/app.php(36): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#4 {main}

I tried to empty caches, reinstall the bundle, empty vendors, composer update etc always the same...
Any idea ?

Best regards.

Fix rest api

Rest Api removal of Pimcore causes error to the ProcessManager Rest API -> fix it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.