irods / irods_capability_automated_ingest

Other
12 stars 15 forks source link

Can it install in a client node not in server? #196

Closed peggy0135 closed 1 year ago

peggy0135 commented 1 year ago

Hi, I tried to use it in iRODS server node, it works. But when I use it in a clinet node, it stuck.

shown as below, (rodssync) [root@localhost ~]# python3 -m irods_capability_automated_ingest.irods_sync start ./src_dir /tempZone/home/rods/reg_coll --synchronous --progress [Elapsed Time: 0:05:46] |################ | (ETA: 0:17:20) count: 8 tasks: 6 failures: ------ retries: ------

is there any way can fix it? Thank you

trel commented 1 year ago

Are there any logs?

You can use --log_level and --log_filename to see more of what is happening or getting stuck.

peggy0135 commented 1 year ago

let me try it.

peggy0135 commented 1 year ago

Are there any logs?

You can use --log_level and --log_filename to see more of what is happening or getting stuck.

in the terminal of celery keep showing billiard.exceptions.SoftTimeLimitExceeded: SoftTimeLimitExceeded() Thank you

peggy0135 commented 1 year ago

hi @trel , I used debug log level and got this, shown as below {"event": "iRODS Idle Time set to: 60", "logger": "irods_sync/logfile_debuging/DEBUG", "level": "info", "@timestamp": "2023-04-28T07:51:12.066544+01:00"} {"task": "sync_path", "path": "/root/src_dir", "job_name": "b76430ea-e57b-11ed-9ab2-12c767f6d273", "task_id": "4c7e67be-e580-11ed-8693-12c767f6d273", "exc": "SoftTimeLimitExceeded()", "einfo": "<ExceptionInfo: SoftTimeLimitExceeded()>", "traceback": ["<FrameSummary file /root/rodssync/lib/python3.9/site-packages/celery/app/trace.py, line 451 in trace_task>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/celery/app/trace.py, line 734 in __protected_call__>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/irods_capability_automated_ingest/sync_task.py, line 331 in sync_dir>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/irods_capability_automated_ingest/sync_task.py, line 322 in sync_entry>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/celery/app/task.py, line 717 in retry>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/irods_capability_automated_ingest/sync_task.py, line 312 in sync_entry>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/irods_capability_automated_ingest/sync_irods.py, line 457 in sync_data_from_dir>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/irods_capability_automated_ingest/sync_irods.py, line 49 in create_dirs>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis_lock/__init__.py, line 321 in __enter__>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis_lock/__init__.py, line 231 in acquire>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/client.py, line 1900 in blpop>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/client.py, line 901 in execute_command>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/client.py, line 915 in parse_response>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/connection.py, line 739 in read_response>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/connection.py, line 324 in read_response>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/connection.py, line 256 in readline>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/connection.py, line 198 in _read_from_socket>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/redis/_compat.py, line 72 in recv>", "<FrameSummary file /root/rodssync/lib/python3.9/site-packages/billiard/pool.py, line 229 in soft_timeout_sighandler>"], "event": "failed_task", "logger": "irods_sync/logfile_debuging/DEBUG", "level": "error", "@timestamp": "2023-04-28T07:51:12.094003+01:00"}

Thank you

trel commented 1 year ago

That says that the redis client cannot find the redis server on the network - it's timing out when reaching out.

Make sure all the parts (ingest, redis, and iRODS itself) are awake and can see one another.

peggy0135 commented 1 year ago

should I install redis to the iRODS server node? Thank you?

trel commented 1 year ago

That's up to you - wherever you want to run it.

The ingest tool keeps its celery bookkeeping AND its iRODS cache bookkeeping in redis. So keeping it 'local' will make it a tad faster than if it's remote.