4040 deexternalize_payload_async ,
4141 externalize_activity_output ,
4242 externalize_activity_output_async ,
43- get_payload_store ,
4443)
4544from .orchestration_context import accepts_two_positional_args
4645
@@ -188,17 +187,19 @@ def decode(value: str) -> Any:
188187 return df_loads (value )
189188 except json .JSONDecodeError :
190189 return value
190+ except Exception as error :
191+ raise ValueError ('activity trigger input must be a string or a '
192+ f'valid json serializable ({ value } )' ) from error
191193
192194 wrapper : Callable [..., Any ]
193195 if inspect .iscoroutinefunction (fn ):
194196 @wraps (fn )
195197 async def async_wrapper (* args : Any , ** kwargs : Any ) -> Any :
196- if get_payload_store () is None :
197- return await fn (* args , ** kwargs )
198198 bound = signature .bind (* args , ** kwargs )
199199 value = bound .arguments .get (input_name )
200- if isinstance (value , ActivityPayload ):
201- bound .arguments [input_name ] = decode (await deexternalize_payload_async (value .value ))
200+ if not isinstance (value , ActivityPayload ):
201+ return await fn (* args , ** kwargs )
202+ bound .arguments [input_name ] = decode (await deexternalize_payload_async (value .value ))
202203 result = await fn (* bound .args , ** bound .kwargs )
203204 if result is None :
204205 return None
@@ -209,12 +210,11 @@ async def async_wrapper(*args: Any, **kwargs: Any) -> Any:
209210 else :
210211 @wraps (fn )
211212 def sync_wrapper (* args : Any , ** kwargs : Any ) -> Any :
212- if get_payload_store () is None :
213- return fn (* args , ** kwargs )
214213 bound = signature .bind (* args , ** kwargs )
215214 value = bound .arguments .get (input_name )
216- if isinstance (value , ActivityPayload ):
217- bound .arguments [input_name ] = decode (deexternalize_payload (value .value ))
215+ if not isinstance (value , ActivityPayload ):
216+ return fn (* args , ** kwargs )
217+ bound .arguments [input_name ] = decode (deexternalize_payload (value .value ))
218218 result = fn (* bound .args , ** bound .kwargs )
219219 if result is None :
220220 return None
0 commit comments