Bulk Operations Exception: Message queue topic “example.topic” is not configured
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I am trying to implement Bulk Operations in Magento 2.3.1 using the docs here as a reference.
When I call scheduleBulk on the BulkManagementInterface the operation is saved and can be viewed from the Bulk Action log but I get the following exception and my consumer never processes the operation:
Message queue topic "example.topic" is not configured.
I have the following files in app/etc:
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="MagentoFrameworkMessageQueueMergerFactory">
<arguments>
<argument name="mergers" xsi:type="array">
<item name="ExampleConsumer" xsi:type="string">VendorModuleModelMerger</item>
</argument>
</arguments>
</type>
</config>
communication.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Communication/etc/communication.xsd">
<topic name="example.topic" request="MagentoAsynchronousOperationsApiDataOperationInterface">
<handler name="processExampleOperation" type="VendorModuleModelConsumer" method="processOperation"/>
</topic>
</config>
queue_consumer.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/consumer.xsd">
<consumer name="ExampleConsumer" queue="example_queue" connection="db" handler="VendorModuleModelConsumer::processOperation"/>
</config>
queue_publisher.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/publisher.xsd">
<publisher topic="example.topic">
<connection name="db" exchange="example.exchange" />
</publisher>
</config>
queue_topology.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/topology.xsd">
<exchange name="example.exchange type="topic" connection="db">
<binding id="ExampleBinding" topic="example.topic" destinationType="queue" destination="example_queue"/>
</exchange>
</config>
Here is a snippet where I call scheduleBulk:
$bulkUuid = $this->_identityService->generateId();
$bulkDescription = 'Example Bulk Operation';
$operations = ;
$serializedData = [
'entity_id' => $id,
'entity_link' => $this->_urlBuilder->getUrl('vendor/controller/' . $id),
'meta_information' => 'Meta Information',
];
$data = [
'data' => [
'bulk_uuid' => $bulkUuid,
'topic_name' => 'example.topic',
'serialized_data' => $this->_jsonHelper->jsonEncode($serializedData),
'status' => OperationInterface::STATUS_TYPE_OPEN,
]
];
$operation = $this->_operationFactory->create($data);
$operations = $operation;
$userId = $this->_userContext->getUserId();
$result = $this->_bulkManagement->scheduleBulk($bulkUuid, $operations, $bulkDescription, $userId);
if (!$result) {
throw new MagentoFrameworkExceptionLocalizedException(
__('Something went wrong while processing the request.')
);
}
When I run bin/magento queue:consumers:list
my consumer is listed, and when I run start it is started.
The exception is thrown from
MagentoFrameworkMessageQueueConfig in the getPublisherConfigByTopic
function on line 184
. If I log $this->queueConfigData->get()
at the top of that function it is an empty array.
Is there an issue with my configuration above that would be preventing it from being loaded?
Note: I have modified the sample code above and replaced with example data.
magento2.3 magento2.3.1 message-queue
add a comment |
I am trying to implement Bulk Operations in Magento 2.3.1 using the docs here as a reference.
When I call scheduleBulk on the BulkManagementInterface the operation is saved and can be viewed from the Bulk Action log but I get the following exception and my consumer never processes the operation:
Message queue topic "example.topic" is not configured.
I have the following files in app/etc:
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="MagentoFrameworkMessageQueueMergerFactory">
<arguments>
<argument name="mergers" xsi:type="array">
<item name="ExampleConsumer" xsi:type="string">VendorModuleModelMerger</item>
</argument>
</arguments>
</type>
</config>
communication.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Communication/etc/communication.xsd">
<topic name="example.topic" request="MagentoAsynchronousOperationsApiDataOperationInterface">
<handler name="processExampleOperation" type="VendorModuleModelConsumer" method="processOperation"/>
</topic>
</config>
queue_consumer.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/consumer.xsd">
<consumer name="ExampleConsumer" queue="example_queue" connection="db" handler="VendorModuleModelConsumer::processOperation"/>
</config>
queue_publisher.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/publisher.xsd">
<publisher topic="example.topic">
<connection name="db" exchange="example.exchange" />
</publisher>
</config>
queue_topology.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/topology.xsd">
<exchange name="example.exchange type="topic" connection="db">
<binding id="ExampleBinding" topic="example.topic" destinationType="queue" destination="example_queue"/>
</exchange>
</config>
Here is a snippet where I call scheduleBulk:
$bulkUuid = $this->_identityService->generateId();
$bulkDescription = 'Example Bulk Operation';
$operations = ;
$serializedData = [
'entity_id' => $id,
'entity_link' => $this->_urlBuilder->getUrl('vendor/controller/' . $id),
'meta_information' => 'Meta Information',
];
$data = [
'data' => [
'bulk_uuid' => $bulkUuid,
'topic_name' => 'example.topic',
'serialized_data' => $this->_jsonHelper->jsonEncode($serializedData),
'status' => OperationInterface::STATUS_TYPE_OPEN,
]
];
$operation = $this->_operationFactory->create($data);
$operations = $operation;
$userId = $this->_userContext->getUserId();
$result = $this->_bulkManagement->scheduleBulk($bulkUuid, $operations, $bulkDescription, $userId);
if (!$result) {
throw new MagentoFrameworkExceptionLocalizedException(
__('Something went wrong while processing the request.')
);
}
When I run bin/magento queue:consumers:list
my consumer is listed, and when I run start it is started.
The exception is thrown from
MagentoFrameworkMessageQueueConfig in the getPublisherConfigByTopic
function on line 184
. If I log $this->queueConfigData->get()
at the top of that function it is an empty array.
Is there an issue with my configuration above that would be preventing it from being loaded?
Note: I have modified the sample code above and replaced with example data.
magento2.3 magento2.3.1 message-queue
add a comment |
I am trying to implement Bulk Operations in Magento 2.3.1 using the docs here as a reference.
When I call scheduleBulk on the BulkManagementInterface the operation is saved and can be viewed from the Bulk Action log but I get the following exception and my consumer never processes the operation:
Message queue topic "example.topic" is not configured.
I have the following files in app/etc:
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="MagentoFrameworkMessageQueueMergerFactory">
<arguments>
<argument name="mergers" xsi:type="array">
<item name="ExampleConsumer" xsi:type="string">VendorModuleModelMerger</item>
</argument>
</arguments>
</type>
</config>
communication.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Communication/etc/communication.xsd">
<topic name="example.topic" request="MagentoAsynchronousOperationsApiDataOperationInterface">
<handler name="processExampleOperation" type="VendorModuleModelConsumer" method="processOperation"/>
</topic>
</config>
queue_consumer.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/consumer.xsd">
<consumer name="ExampleConsumer" queue="example_queue" connection="db" handler="VendorModuleModelConsumer::processOperation"/>
</config>
queue_publisher.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/publisher.xsd">
<publisher topic="example.topic">
<connection name="db" exchange="example.exchange" />
</publisher>
</config>
queue_topology.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/topology.xsd">
<exchange name="example.exchange type="topic" connection="db">
<binding id="ExampleBinding" topic="example.topic" destinationType="queue" destination="example_queue"/>
</exchange>
</config>
Here is a snippet where I call scheduleBulk:
$bulkUuid = $this->_identityService->generateId();
$bulkDescription = 'Example Bulk Operation';
$operations = ;
$serializedData = [
'entity_id' => $id,
'entity_link' => $this->_urlBuilder->getUrl('vendor/controller/' . $id),
'meta_information' => 'Meta Information',
];
$data = [
'data' => [
'bulk_uuid' => $bulkUuid,
'topic_name' => 'example.topic',
'serialized_data' => $this->_jsonHelper->jsonEncode($serializedData),
'status' => OperationInterface::STATUS_TYPE_OPEN,
]
];
$operation = $this->_operationFactory->create($data);
$operations = $operation;
$userId = $this->_userContext->getUserId();
$result = $this->_bulkManagement->scheduleBulk($bulkUuid, $operations, $bulkDescription, $userId);
if (!$result) {
throw new MagentoFrameworkExceptionLocalizedException(
__('Something went wrong while processing the request.')
);
}
When I run bin/magento queue:consumers:list
my consumer is listed, and when I run start it is started.
The exception is thrown from
MagentoFrameworkMessageQueueConfig in the getPublisherConfigByTopic
function on line 184
. If I log $this->queueConfigData->get()
at the top of that function it is an empty array.
Is there an issue with my configuration above that would be preventing it from being loaded?
Note: I have modified the sample code above and replaced with example data.
magento2.3 magento2.3.1 message-queue
I am trying to implement Bulk Operations in Magento 2.3.1 using the docs here as a reference.
When I call scheduleBulk on the BulkManagementInterface the operation is saved and can be viewed from the Bulk Action log but I get the following exception and my consumer never processes the operation:
Message queue topic "example.topic" is not configured.
I have the following files in app/etc:
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="MagentoFrameworkMessageQueueMergerFactory">
<arguments>
<argument name="mergers" xsi:type="array">
<item name="ExampleConsumer" xsi:type="string">VendorModuleModelMerger</item>
</argument>
</arguments>
</type>
</config>
communication.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Communication/etc/communication.xsd">
<topic name="example.topic" request="MagentoAsynchronousOperationsApiDataOperationInterface">
<handler name="processExampleOperation" type="VendorModuleModelConsumer" method="processOperation"/>
</topic>
</config>
queue_consumer.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/consumer.xsd">
<consumer name="ExampleConsumer" queue="example_queue" connection="db" handler="VendorModuleModelConsumer::processOperation"/>
</config>
queue_publisher.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/publisher.xsd">
<publisher topic="example.topic">
<connection name="db" exchange="example.exchange" />
</publisher>
</config>
queue_topology.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/topology.xsd">
<exchange name="example.exchange type="topic" connection="db">
<binding id="ExampleBinding" topic="example.topic" destinationType="queue" destination="example_queue"/>
</exchange>
</config>
Here is a snippet where I call scheduleBulk:
$bulkUuid = $this->_identityService->generateId();
$bulkDescription = 'Example Bulk Operation';
$operations = ;
$serializedData = [
'entity_id' => $id,
'entity_link' => $this->_urlBuilder->getUrl('vendor/controller/' . $id),
'meta_information' => 'Meta Information',
];
$data = [
'data' => [
'bulk_uuid' => $bulkUuid,
'topic_name' => 'example.topic',
'serialized_data' => $this->_jsonHelper->jsonEncode($serializedData),
'status' => OperationInterface::STATUS_TYPE_OPEN,
]
];
$operation = $this->_operationFactory->create($data);
$operations = $operation;
$userId = $this->_userContext->getUserId();
$result = $this->_bulkManagement->scheduleBulk($bulkUuid, $operations, $bulkDescription, $userId);
if (!$result) {
throw new MagentoFrameworkExceptionLocalizedException(
__('Something went wrong while processing the request.')
);
}
When I run bin/magento queue:consumers:list
my consumer is listed, and when I run start it is started.
The exception is thrown from
MagentoFrameworkMessageQueueConfig in the getPublisherConfigByTopic
function on line 184
. If I log $this->queueConfigData->get()
at the top of that function it is an empty array.
Is there an issue with my configuration above that would be preventing it from being loaded?
Note: I have modified the sample code above and replaced with example data.
magento2.3 magento2.3.1 message-queue
magento2.3 magento2.3.1 message-queue
edited yesterday
Raj Mohan R
5009
5009
asked yesterday
mage_devmage_dev
62
62
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269414%2fbulk-operations-exception-message-queue-topic-example-topic-is-not-configured%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269414%2fbulk-operations-exception-message-queue-topic-example-topic-is-not-configured%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown