Skip to content

Broken serialized workload item in database #20

@ger4003

Description

@ger4003

The CLI commands provided by the package create TaskExecution entries in the database. The serialized workload content is broken. It seems to be cutoff at the end.

Example workload content after flow task:run has been executed:

O:34:"Flowpack\Task\Domain\Task\Workload":1:{s:7:"

If you run ./flow task:list afterwards the following exception is thrown:

Could not convert database value to 'object' as an error was triggered by the unserialization: 'unserialize(): Error at offset 47 of 50 bytes'

  Type: Doctrine\DBAL\Types\ConversionException
  File: Packages/Libraries/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionExceptio
        n.php
  Line: 117

Another issue is, that it is not possible to overwrite WorkloadInterface implementation by Objects.yaml. A configuration like the following does not use the configured class for creating Workload objects:

Settings.yaml

Flowpack\Task\Domain\Task\WorkloadInterface:
  className: My\Package\Task\Workload

Setup

  • PHP 8.4
  • PostgreSQL 16.5
  • neos/neos 8.3.30
  • neos/flow 8.13.18

Configuration

Settings.yaml

Flowpack:
  Task:
    tasks:
      'import':
        label: Import 
        description: Import data into Neos database
        # A class, implementing the TaskHandlerInterface
        handlerClass: 'My\Package\Task\ImportTaskHandler'
        # run every day at 05:00 and 13:00
        cronExpression: '0 5,13 * * *'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions