iris-pex-embedded-python 2.3.27b1__py3-none-any.whl → 2.3.28b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of iris-pex-embedded-python might be problematic. Click here for more details.

@@ -25,6 +25,18 @@ Method dispatchSetTimer(
25
25
  quit
26
26
  }
27
27
 
28
+ Method dispatchSendRequestAsync(
29
+ target,
30
+ request,
31
+ responseRequired,
32
+ completionKey,
33
+ description)
34
+ {
35
+ set tSC = ..SendRequestAsync(target,request,responseRequired,completionKey,description)
36
+ if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
37
+ quit
38
+ }
39
+
28
40
  Method OnRequest(
29
41
  request As %Persistent,
30
42
  Output response As %Persistent) As %Status
@@ -48,7 +60,7 @@ Method OnResponse(
48
60
  {
49
61
  set tSC = $$$OK
50
62
  try {
51
- set response = ..%class."_dispatch_on_response"($this,request,callRequest,callResponse,pCompletionKey)
63
+ set response = ..%class."_dispatch_on_response"($this,request,response,callRequest,callResponse,pCompletionKey)
52
64
  } catch ex {
53
65
  set tSC = ex.AsStatus()
54
66
  }
@@ -61,8 +73,7 @@ Method OnComplete(
61
73
  {
62
74
  set tSC = $$$OK
63
75
  try {
64
- set tSC = ..Connect() quit:$$$ISERR(tSC)
65
- set response = ..%class."_dispatch_on_complete"($this,request)
76
+ set response = ..%class."_dispatch_on_complete"($this,request,response)
66
77
  } catch ex {
67
78
  set tSC = ex.AsStatus()
68
79
  }
@@ -189,7 +189,7 @@ class _BusinessHost(_Common):
189
189
  return self._serialize_pickle_message(message)
190
190
  elif (message is not None and self._is_iris_object_instance(message)):
191
191
  return message
192
- elif (message is None):
192
+ elif (message is None or message == ""):
193
193
  return message
194
194
  else:
195
195
  # todo : decorator takes care of all the parameters, so this should never happen
@@ -38,7 +38,7 @@ class _BusinessProcess(_BusinessHost):
38
38
  """
39
39
  return self.OnRequest(request)
40
40
 
41
- def on_response(self, request, call_request, call_response, completion_key):
41
+ def on_response(self, request, response, call_request, call_response, completion_key):
42
42
  """ Handles responses sent to the business process in response to messages that it sent to the target.
43
43
  A production calls this method whenever a response for a specific business process arrives on the appropriate queue and is assigned a job in which to execute.
44
44
  Typically this is a response to an asynchronous request made by the business process where the responseRequired parameter has a true value.
@@ -53,9 +53,9 @@ class _BusinessProcess(_BusinessHost):
53
53
  An instance of IRISObject or subclass of Message that contains the response message that this business process can return
54
54
  to the production component that sent the initial message.
55
55
  """
56
- return self.OnResponse(request, call_request, call_response, completion_key)
56
+ return self.OnResponse(request, response, call_request, call_response, completion_key)
57
57
 
58
- def on_complete(self, request):
58
+ def on_complete(self, request, response):
59
59
  """ Called after the business process has received and handled all responses to requests it has sent to targets.
60
60
  Parameters:
61
61
  request: An instance of IRISObject or subclass of Message that contains the initial request message sent to the business process.
@@ -65,7 +65,7 @@ class _BusinessProcess(_BusinessHost):
65
65
  An instance of IRISObject or subclass of Message that contains the response message that this business process can return
66
66
  to the production component that sent the initial message.
67
67
  """
68
- return self.OnComplete(request)
68
+ return self.OnComplete(request, response)
69
69
 
70
70
  @_BusinessHost.input_serialzer_param(0,'response')
71
71
  def reply(self, response):
@@ -76,6 +76,26 @@ class _BusinessProcess(_BusinessHost):
76
76
  """
77
77
 
78
78
  return self.iris_handle.dispatchReply(response)
79
+
80
+ @_BusinessHost.input_serialzer_param(1,'request')
81
+ def send_request_async(self, target, request, response_required=True, completion_key=None,description=None):
82
+ """ Send the specified message to the target business process or business operation asynchronously.
83
+ Parameters:
84
+ target: a string that specifies the name of the business process or operation to receive the request.
85
+ The target is the name of the component as specified in the Item Name property in the production definition, not the class name of the component.
86
+ request: specifies the message to send to the target. The request is an instance of IRISObject or of a subclass of Message.
87
+ If the target is a built-in ObjectScript component, you should use the IRISObject class. The IRISObject class enables the PEX framework to convert the message to a class supported by the target.
88
+ description: an optional string parameter that sets a description property in the message header. The default is None.
89
+
90
+ Raises:
91
+ TypeError: if request is not of type Message or IRISObject.
92
+ """
93
+ if response_required:
94
+ # cast True to 1
95
+ response_required = 1
96
+ else:
97
+ response_required = 0
98
+ return self.iris_handle.dispatchSendRequestAsync(target,request,response_required,completion_key,description)
79
99
 
80
100
  def set_timer(self, timeout, completion_key=None):
81
101
  """ Specifies the maximum time the business process will wait for responses.
@@ -151,19 +171,19 @@ class _BusinessProcess(_BusinessHost):
151
171
 
152
172
  @_BusinessHost.input_deserialzer
153
173
  @_BusinessHost.output_serialzer
154
- def _dispatch_on_response(self, host_object, request, call_request, call_response, completion_key):
174
+ def _dispatch_on_response(self, host_object, request, response, call_request, call_response, completion_key):
155
175
  """ For internal use only. """
156
176
  self._restore_persistent_properties(host_object)
157
- return_object = self.on_response(request, call_request, call_response, completion_key)
177
+ return_object = self.on_response(request, response, call_request, call_response, completion_key)
158
178
  self._save_persistent_properties(host_object)
159
179
  return return_object
160
180
 
161
181
  @_BusinessHost.input_deserialzer
162
182
  @_BusinessHost.output_serialzer
163
- def _dispatch_on_complete(self, host_object, request):
183
+ def _dispatch_on_complete(self, host_object, request, response):
164
184
  """ For internal use only. """
165
185
  self._restore_persistent_properties(host_object)
166
- return_object = self.on_complete(request)
186
+ return_object = self.on_complete(request, response)
167
187
  self._save_persistent_properties(host_object)
168
188
  return return_object
169
189
 
@@ -181,7 +201,7 @@ class _BusinessProcess(_BusinessHost):
181
201
  """
182
202
  return
183
203
 
184
- def OnResponse(self, request, call_request, call_response, completion_key):
204
+ def OnResponse(self, request, response, call_request, call_response, completion_key):
185
205
  """
186
206
  DEPRECATED : use on_response
187
207
  Handles responses sent to the business process in response to messages that it sent to the target.
@@ -198,9 +218,9 @@ class _BusinessProcess(_BusinessHost):
198
218
  An instance of IRISObject or subclass of Message that contains the response message that this business process can return
199
219
  to the production component that sent the initial message.
200
220
  """
201
- return
221
+ return response
202
222
 
203
- def OnComplete(self, request):
223
+ def OnComplete(self, request, response):
204
224
  """
205
225
  DEPRECATED : use on_complete
206
226
  Called after the business process has received and handled all responses to requests it has sent to targets.
@@ -212,4 +232,4 @@ class _BusinessProcess(_BusinessHost):
212
232
  An instance of IRISObject or subclass of Message that contains the response message that this business process can return
213
233
  to the production component that sent the initial message.
214
234
  """
215
- return
235
+ return response
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris_pex_embedded_python
3
- Version: 2.3.27b1
3
+ Version: 2.3.28b1
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -1,6 +1,6 @@
1
1
  grongier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  grongier/cls/Grongier/PEX/BusinessOperation.cls,sha256=qvLahHnQPAKMrGCekQNXPJgKPvlCWH5nJa0eYvceGvQ,932
3
- grongier/cls/Grongier/PEX/BusinessProcess.cls,sha256=iZwW5634mG90_4_Sp2atxt-CUx20jkhI6rUyvL99kRU,2615
3
+ grongier/cls/Grongier/PEX/BusinessProcess.cls,sha256=azLitlfEa9fK8PmoVHCyxzywi8sM-6drYwJZQPijPFY,2882
4
4
  grongier/cls/Grongier/PEX/BusinessService.cls,sha256=2FXGkJ29zU3m-BcMVJTqD9skG9o7GvcHw60DAx4Fj3s,1039
5
5
  grongier/cls/Grongier/PEX/Common.cls,sha256=YEguYAhs9_nA2A0LHZpRtQ7wUqueaRPSS2LO_fOTGVs,5754
6
6
  grongier/cls/Grongier/PEX/Director.cls,sha256=wImRl1P37_A-Om8ahl2hfl92hxicqKnKAqzHOE4L8wg,1894
@@ -21,9 +21,9 @@ grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls,sha256=ofVKjrN6UPFasal
21
21
  grongier/cls/Grongier/Service/WSGI.cls,sha256=1PY1SxZCp7PIQrm5_td74_Uf1M_1Mn4IkDGX2WOE9sA,10445
22
22
  grongier/pex/__init__.py,sha256=nvcmRCxLy-lpL5GzlCKrmsSK8LF8Q0aKddx6ib8U50E,1166
23
23
  grongier/pex/__main__.py,sha256=ebEYPDOBKiXOlmdI4onpQLzfBKU4wyfijYyquA5dWV4,107
24
- grongier/pex/_business_host.py,sha256=lS0HcHHaTCKWtKmDBUMxeX59W8KClIqQBgl4pHXYpHI,22228
24
+ grongier/pex/_business_host.py,sha256=ec0y27POk-A7J2jPiTeoujzh30caVETJEpe11R-lcTQ,22245
25
25
  grongier/pex/_business_operation.py,sha256=W_B9Ci1fei8SGcElkAd13gV9S4BNKeQciTMVqxxJVZc,3509
26
- grongier/pex/_business_process.py,sha256=wXo-pBTDVXhccwzVLolzNhwwEJIfor7y8_4EORGchsc,11770
26
+ grongier/pex/_business_process.py,sha256=BWeH72mSh8xFUIkPEZqhxJHMmvby0ZusZEc62nHPUe0,13305
27
27
  grongier/pex/_business_service.py,sha256=8CgpjcdVmv5747CTa3Lw3B48RYXq2SQN9qfdxvqEI5g,3735
28
28
  grongier/pex/_cli.py,sha256=NcMA3sXMDYA2NnGG0LB9Eww14aEmQbu0jQywWJZGD7E,6297
29
29
  grongier/pex/_common.py,sha256=yiJ-sH4ml5u9qEnZFX_4F-Rn2X6shtMhceJA9RCMChI,15158
@@ -105,9 +105,9 @@ iris/iris_ipm.py,sha256=Q0jcNItjywlqOPZr0hgdTFSeLPNEmB-tcICOI_cXnaY,790
105
105
  iris/iris_ipm.pyi,sha256=j7CNUZcjeDu5sgeWUZJO_Qi4vQmHh6aD-jPWv8OdoUs,374
106
106
  irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
107
107
  irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
108
- iris_pex_embedded_python-2.3.27b1.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
109
- iris_pex_embedded_python-2.3.27b1.dist-info/METADATA,sha256=85XJRW_zRVzJLvQdW5TM375AFZFw5uVJfk37_Bqdzf4,49682
110
- iris_pex_embedded_python-2.3.27b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
111
- iris_pex_embedded_python-2.3.27b1.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
112
- iris_pex_embedded_python-2.3.27b1.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
113
- iris_pex_embedded_python-2.3.27b1.dist-info/RECORD,,
108
+ iris_pex_embedded_python-2.3.28b1.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
109
+ iris_pex_embedded_python-2.3.28b1.dist-info/METADATA,sha256=28PTM2EHHSfbznSRHFTCHdXEPmYgWRhKPCwMuO_vliY,49682
110
+ iris_pex_embedded_python-2.3.28b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
111
+ iris_pex_embedded_python-2.3.28b1.dist-info/entry_points.txt,sha256=atkAtHoIuwXcZ0jl5gwof0l__ru_lt8WhVYk6HxYf70,47
112
+ iris_pex_embedded_python-2.3.28b1.dist-info/top_level.txt,sha256=Tl4ZHgeNefaZW2Oug30vSldhD-tWzixsIfzASBrZ9ps,43
113
+ iris_pex_embedded_python-2.3.28b1.dist-info/RECORD,,