diff options
author | Hui Lan <lanhui@zjnu.edu.cn> | 2025-08-11 13:38:35 +0800 |
---|---|---|
committer | Hui Lan <lanhui@zjnu.edu.cn> | 2025-08-11 13:38:35 +0800 |
commit | 9ff8b3390fb5175cf00cbdfac3f4055dbc6f4e30 (patch) | |
tree | 9ec25e2eb0f0770fbe941443e303390d551e469b | |
parent | f57f6e3c256db8e160fdf40cbba51180803d3124 (diff) |
Why the message cannot be received?
-rw-r--r-- | Code/download_and_map.py | 3 | ||||
-rw-r--r-- | Code/test_redis_publish2.py | 32 |
2 files changed, 34 insertions, 1 deletions
diff --git a/Code/download_and_map.py b/Code/download_and_map.py index 6372248..0e8f160 100644 --- a/Code/download_and_map.py +++ b/Code/download_and_map.py @@ -391,15 +391,16 @@ def publish(mapped_data_directory): redis_host = os.getenv('REDIS_HOST', '127.0.0.1') redis_password = os.getenv('REDIS_PASSWORD', '123456') r = redis.Redis(host=redis_host, port=6379, password=redis_password, db=0) + r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_START.txt', 'data':str(datetime.now())})) for fname in glob.glob('%s/*_quant.txt' % (mapped_data_directory.rstrip('/'))): try: file_basename = os.path.basename(fname) with open(fname, 'r') as f: data = f.read() r.publish(REDIS_CHANNEL, json.dumps({'filename':file_basename, 'data':data})) - time.sleep(1) except Exception as e: r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_ERROR.txt', 'data':str(e)})) + time.sleep(1) ## main diff --git a/Code/test_redis_publish2.py b/Code/test_redis_publish2.py new file mode 100644 index 0000000..eeda27d --- /dev/null +++ b/Code/test_redis_publish2.py @@ -0,0 +1,32 @@ +import redis +from configure import DAILY_MAP_NUMBER, MIN_FASTQ_FILE_SIZE, RNA_SEQ_INFO_FILE, DOWNLOADED_SRA_ID_LOG_FILE, IGNORED_SRA_ID_LOG_FILE, UPDATE_NETWORK_LOG_FILE, MAPPED_RDATA_DIR, RAW_RDATA_DIR, SALMON_MAP_RESULT_DIR, REDIS_CHANNEL +import json, glob, os, time +from datetime import datetime +def publish(mapped_data_directory): + redis_host = os.getenv('REDIS_HOST', '127.0.0.1') + #redis_host = os.getenv('REDIS_HOST', '0.0.0.0') + redis_password = os.getenv('REDIS_PASSWORD', '123456') + print(redis_password) + r = redis.Redis(host=redis_host, port=6379, password=redis_password, db=0) + r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_START.txt', 'data':str(datetime.now())})) + for fname in glob.glob('%s/*_quant.txt' % (mapped_data_directory.rstrip('/'))): + print(fname) + try: + file_basename = os.path.basename(fname) + with open(fname, 'r') as f: + data = f.read() + r.publish(REDIS_CHANNEL, json.dumps({'filename':file_basename, 'data':data})) + time.sleep(3) + except Exception as e: + print(f'ERROR {e}') + r.publish(REDIS_CHANNEL, json.dumps({'filename':'REDIS_ERROR.txt', 'data':str(e)})) + + +# after mapping is finished, move all resulting files to MAPPED_RDATA_DIR +if glob.glob('%s/*_quant.txt' % (SALMON_MAP_RESULT_DIR.rstrip('/'))) != []: + publish(SALMON_MAP_RESULT_DIR) + #cmd = 'mv %s/*_quant.txt %s' % (SALMON_MAP_RESULT_DIR.rstrip('/'), MAPPED_RDATA_DIR) + #os.system(cmd) + print('[download_and_map.py] Done. Check directory %s.' % (os.path.abspath(MAPPED_RDATA_DIR))) +else: + print('[download_and_map.py] No quant files to move.') |