summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Lan <lanhui@zjnu.edu.cn>2025-08-11 13:38:35 +0800
committerHui Lan <lanhui@zjnu.edu.cn>2025-08-11 13:38:35 +0800
commit9ff8b3390fb5175cf00cbdfac3f4055dbc6f4e30 (patch)
tree9ec25e2eb0f0770fbe941443e303390d551e469b
parentf57f6e3c256db8e160fdf40cbba51180803d3124 (diff)
Why the message cannot be received?
-rw-r--r--Code/download_and_map.py3
-rw-r--r--Code/test_redis_publish2.py32
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.')