Giter Site home page Giter Site logo

Serialization failure about cms HOT 5 OPEN

ptrykulich avatar ptrykulich commented on July 21, 2024
Serialization failure

from cms.

Comments (5)

brandonkelly avatar brandonkelly commented on July 21, 2024 2

Thanks for reporting that @ptrykulich. It looks like you’re hitting deadlocks due to gap locks. We’ll discuss this internally and see what should be done about it.

In the meantime, you should be able to avoid the errors by only having one queue runner handling these jobs.

from cms.

brandonkelly avatar brandonkelly commented on July 21, 2024 2

Yeah it’s on the list to discuss on our next team call on Monday.

from cms.

brandonkelly avatar brandonkelly commented on July 21, 2024 1

It’s already possible to create a custom queue and push those big jobs to it.

// config/app.php

return [
    // ...
    'bootstrap' => [
        'resaveQueue',
    ],
    'components' => [
        'resaveQueue' => [
            'class' => craft\queue\Queue::class,
        ],
    ],
];
// your module
Craft::$app->resaveQueue->push(new MyResaveJob(/* ... */));

The only caveat is that those jobs won’t show up in the Queue Manager utility (#13347). But all the CLI commands will be available.

php craft help resaveQueue

from cms.

ptrykulich avatar ptrykulich commented on July 21, 2024

@brandonkelly

I could use one handler for the queue if I could handle these tasks through a separate runner. Because I need that these big queues did not stop other tasks and this queue was not stopped by others.

I talked about this in Discord with your staff and got a response that I think would be good for me. And get the expected implementation:

// The default Craft queue:
craft queue/listen --channel=default

// On a separate runner:
craft queue/listen --channel=big
  • There will be a new config setting where you can define and queue components you want shown in the CP utility
  • As long as it is configured there, and implements \craft\queue\QueueInterface, they will both show in the utility.
  • Your queue component should register it's own CLI commands, so you have have 2 dedicated listen commands.

But it has not yet been implemented.

from cms.

ptrykulich avatar ptrykulich commented on July 21, 2024

Thanks! We will use this solution! But at some point would be great to have deadlock problem sorted.

from cms.

Related Issues (20)

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.