PicklingError When Running helloworld Script
Hi everyone 👋,
I'm encountering a problem when trying to run the helloworld script. The error message I receive is a PicklingError related to multiprocessing. It seems that the issue is because I'm trying to pickle a function (book_ride) which can't be pickled since it's not the same object as services.booking_service.booking.book_ride.
I've attached an image of the error message below for reference.
Steps to Reproduce:
Clone the repository.
Navigate to the helloworld directory.
Run the script using the command python helloworld.py.
Error Message:
PicklingError: Can't pickle <function book_ride at 0x...>: it's not the same object as services.booking_service.booking.book_ride Additional Context:
From my investigation, it appears that the function book_ride is being referenced incorrectly in the context of multiprocessing, leading to the pickling issue.
Environment:
Python version: 3.10.14 Operating system: W10 Any other relevant details: conductor-python==1.1.5
Any help to resolve this issue would be greatly appreciated.
Thank you!
I encountered the same issue and found a workaround. Here’s what I did:
workers = [
HelloWorker(task_definition_name='hello_task')
]
configuration = Configuration()
with TaskHandler(workers=workers, configuration=configuration) as task_handler:
task_handler.start_processes()
task_handler.join_processes()
@maRT-sk for Python novices, can you show the full changes you made to workaround this issue? I believe what you show would be in helloworld.py but HelloWorker isn't defined as a class anywhere, so there are some other changes not shown... ?