You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changes
#142 Scheduler: a schedule can be disabled (ProcessSchedule::$enabled, default true, switch in the schedules list; Version20261013120000 migration adding process_schedule.enabled, the existing schedules are enabled). Disabled schedules are not loaded by the scheduler_cron worker; when a schedule is due, CronProcessMessageHandler reads it again from the database (new optional $repository and $logger arguments, ProcessScheduleRepository::findFresh()), so that a schedule disabled or deleted after the worker has started is not run, and its current input and context are used. Enabling a schedule again still requires restarting the worker. Add documentation and tests.
#143 Stop a running process execution from the UI: "Stop the process" action (POST, with confirmation) on the started executions, recording a stop request (ProcessExecution::$stopRequestedAt). The new ProcessExecutionStopChecker (a stop checker of cleverage/process-bundle#266, tag cleverage_process.stop_checker) reads it with DBAL before the task executions, at most every process_execution.heartbeat_interval seconds (new bundle configuration, default 5): the process stops before its next task execution, with the new stopped status (ProcessExecutionStatus::Stopped, "Stop requested" displayed until then). New stopped notification status (NotificationTrigger::Stopped, not notified by default). Requires cleverage/process-bundle ^5.3. Add documentation and tests.
#144 Detect the process executions whose process has been killed: the ProcessExecutionStopChecker updates the heartbeat of the running execution (ProcessExecution::$heartbeatAt); a started execution without activity for more than process_execution.stale_after seconds (new bundle configuration, default 900) is displayed as "Not responding", and can be marked as failed ("Mark as failed" action, POST, with confirmation; its end date is its last activity; its process is not stopped). It can still be stopped: a process blocked in a long task call stops when the call returns. New ProcessExecutionCrudController optional $staleAfter constructor argument.
#143#144Version20261014120000 migration adding process_execution.stop_requested_at and process_execution.heartbeat_at (nullable).
#147 Log retention: new cleverage:ui-process:purge-logs command (with --dry-run) deleting the log records (log_record, by batches) older than logs.database_max_days days and the log files (<code>/<uuid>.log) last modified more than logs.file_max_days days ago (new bundle configuration, default null: kept), both overridable by the new logs option of each process (ProcessConfigurationsManager::getLogsOptions()). The process executions are kept. Add documentation (including how to give the space back to the database after the first purge) and tests.