Skip to content

Commit 6d7a08b

Browse files
authored
Merge pull request #60 from duhenglucky/order_producer
feat(producer) add specified order producer
2 parents 4fd697a + 0f74f8f commit 6d7a08b

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

src/PythonWrapper.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ void *PyCreateProducer(const char *groupId) {
124124
return (void *) CreateProducer(groupId);
125125
}
126126

127+
void *PyCreateOrderProducer(const char *groupId) {
128+
PyEval_InitThreads(); // ensure create GIL, for call Python callback from C.
129+
return (void *) CreateOrderlyProducer(groupId);
130+
}
131+
127132
void *PyCreateTransactionProducer(const char *groupId, PyObject *localTransactionCheckerCallback) {
128133
PyEval_InitThreads();
129134
CProducer *producer = CreateTransactionProducer(groupId, &PyLocalTransactionCheckerCallback, NULL);
@@ -474,6 +479,7 @@ BOOST_PYTHON_MODULE (librocketmqclientpython) {
474479

475480
//For producer
476481
def("CreateProducer", PyCreateProducer, return_value_policy<return_opaque_pointer>());
482+
def("CreateOrderProducer", PyCreateOrderProducer, return_value_policy<return_opaque_pointer>());
477483
def("CreateTransactionProducer", PyCreateTransactionProducer, return_value_policy<return_opaque_pointer>());
478484
def("DestroyProducer", PyDestroyProducer);
479485
def("DestroyTransactionProducer", PyDestroyTransactionProducer);

src/PythonWrapper.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ const char *PyGetMessageId(PyMessageExt msgExt);
100100

101101
//producer
102102
void *PyCreateProducer(const char *groupId);
103+
void *PyCreateOrderProducer(const char *groupId);
103104
CTransactionStatus PyLocalTransactionCheckerCallback(CProducer *producer, CMessageExt *msg, void *data);
104105
CTransactionStatus PyLocalTransactionExecuteCallback(CProducer *producer, CMessage *msg, void *data);
105106
void *PyCreateTransactionProducer(const char *groupId, PyObject *localTransactionCheckerCallback);

0 commit comments

Comments
 (0)