9
9
namespace Magento \AsynchronousOperations \Model ;
10
10
11
11
use Magento \Framework \App \ResourceConnection ;
12
+ use Magento \Framework \Registry ;
12
13
use Psr \Log \LoggerInterface ;
13
14
use Magento \Framework \MessageQueue \MessageLockException ;
14
15
use Magento \Framework \MessageQueue \ConnectionLostException ;
@@ -58,6 +59,11 @@ class MassConsumer implements ConsumerInterface
58
59
*/
59
60
private $ operationProcessor ;
60
61
62
+ /**
63
+ * @var Registry
64
+ */
65
+ private $ registry ;
66
+
61
67
/**
62
68
* Initialize dependencies.
63
69
*
@@ -67,14 +73,16 @@ class MassConsumer implements ConsumerInterface
67
73
* @param ConsumerConfigurationInterface $configuration
68
74
* @param OperationProcessorFactory $operationProcessorFactory
69
75
* @param LoggerInterface $logger
76
+ * @param Registry $registry
70
77
*/
71
78
public function __construct (
72
79
CallbackInvoker $ invoker ,
73
80
ResourceConnection $ resource ,
74
81
MessageController $ messageController ,
75
82
ConsumerConfigurationInterface $ configuration ,
76
83
OperationProcessorFactory $ operationProcessorFactory ,
77
- LoggerInterface $ logger
84
+ LoggerInterface $ logger ,
85
+ Registry $ registry = null
78
86
) {
79
87
$ this ->invoker = $ invoker ;
80
88
$ this ->resource = $ resource ;
@@ -84,20 +92,26 @@ public function __construct(
84
92
'configuration ' => $ configuration
85
93
]);
86
94
$ this ->logger = $ logger ;
95
+ $ this ->registry = $ registry ?? \Magento \Framework \App \ObjectManager::getInstance ()
96
+ ->get (Registry::class);
87
97
}
88
98
89
99
/**
90
- * { @inheritdoc}
100
+ * @inheritdoc
91
101
*/
92
102
public function process ($ maxNumberOfMessages = null )
93
103
{
104
+ $ this ->registry ->register ('isSecureArea ' , true , true );
105
+
94
106
$ queue = $ this ->configuration ->getQueue ();
95
107
96
108
if (!isset ($ maxNumberOfMessages )) {
97
109
$ queue ->subscribe ($ this ->getTransactionCallback ($ queue ));
98
110
} else {
99
111
$ this ->invoker ->invoke ($ queue , $ maxNumberOfMessages , $ this ->getTransactionCallback ($ queue ));
100
112
}
113
+
114
+ $ this ->registry ->unregister ('isSecureArea ' );
101
115
}
102
116
103
117
/**
0 commit comments