Comments (5)
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.
Yeah it’s on the list to discuss on our next team call on Monday.
from cms.
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.
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.
Thanks! We will use this solution! But at some point would be great to have deadlock problem sorted.
from cms.
Related Issues (20)
- [4.x]: Migration throws error relating to UserGroupEvent when removing a user group HOT 5
- [4.x]: Links in release note alerts not rendered HOT 1
- [5.x]: Migration `m230511_215903_content_refactor` fails HOT 3
- Revisions for singles - Remove other sites from the author view (multisite) HOT 6
- [4.x]: error: Undefined array key "label" HOT 1
- Response Headers Ignoring Header Tags [4.x]: HOT 6
- [5.x]: Pagination info on overview page not updating after bulk editing with filter applied HOT 2
- [5.x]: Setting field values in Entry::EVENT_BEFORE_SAVE doesn't work when $firstSave is true
- [5.x]: Custom field conditions in element queries are case-sensitive now
- [5.x]: Incorrect CP console request URLs HOT 1
- [5.x]: Matrix blocks can't be reordered HOT 1
- [5.x]: web-auth/webauthn-lib 4.8.x has security advisory, conflicts with roave/security-advisories
- [5.x]: Entry types that were converted from Matrix block types should have the slug hidden by default HOT 1
- [5.x]: files being deleted from volume upon interaction before completion of image transforms
- [5.x]: Table entries cannot be drag/dropped to re-order on touch devices
- [5.x]: Assets UI Blank Headings Created when Temporary Uploads is Disabled HOT 4
- [5.x]: no option to change element index view on mobile and export button missing HOT 1
- [4.x]: `Element:: EVENT_DEFINE_SIDEBAR_HTML ` not working for `User` elements
- [5.x]: Exporting entries from element index table only exports the first page HOT 1
- [5.x]: Section - Previewlink URL not taking .env parameter
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cms.