What I am actually trying to achieve is to write some records on a remote neo4j database, however, it’s giving me the error
'TypeError("cannot pickle \'_thread.RLock\' object")'
At first I thought it could be connection object issue and I have to make each worker implement its own connection object separately by doing the following:
def connect_worker_db(): creds = getNeo4jCredentials() worker = get_worker() worker.driver = GraphDatabase.driver(creds.get('host'), auth=(creds.get('user'), creds.get('password'))) client.register_worker_callbacks(connect_worker_db) def experiment(): driver = get_worker().driver with driver.session() as session: result.apply(lambda activityName: addActivity(session, activityName), meta=('activityNameEN', 'object')).compute() session.close() driver.close() result = client.submit(experiment) result.result()
But still giving me the same error. I am actually stuck at this point and I am trying to figure out what could be the solution for this, but so far I found there’s a
serializableLock but I am not sure how this can fit in my use case or even how to use its APIs
Would be very grateful for your help