我試圖使用redis與API(Mailchimp)進行通信並將查詢結果保存到csv文件;但該函數既不保存csv文件也不返回任何錯誤。我錯過了什麼?REDIS:redis在python中不返回任何內容
這是我的BG功能:
def mailchimp_get_subscribed():
config = mailchimp_config()
path_params = 'lists' + '/xxxxxxxxx' + '/members'
endpoint = urlparse.urljoin(config.api_root, path_params)
query_params = {'fields': 'members.email_address', 'count': 10, 'offset': 0}
data = requests.get(endpoint, auth=('apikey', config.apikey), params=query_params, verify=False).text
data = json.loads(data)
df = json_normalize(data['members'])
df.to_csv('existing.csv')
return df
這是我main.py:
from rq import Queue
from redis import Redis
from mailchimp_get_subscribed import mailchimp_get_subscribed
# Tell RQ what Redis connection to use
redis_conn = Redis()
q = Queue(connection=redis_conn) # no args implies the default queue
# Delay execution of mailchimp_get_subscribed
job = q.enqueue(mailchimp_get_subscribed)
print(job.result)
time.sleep(5)
print(job.result)
這是輸出:
runfile('/path/main.py', wdir='/path')
Reloaded modules: mailchimp_get_subscribed, mailchimp_config
None
None
雖然這要花費一毫秒api來響應,我的main.py既沒有返回df也沒有保存csv文件。我嘗試過執行mailchimp_get_subscribed(),它將csv正確保存在當前路徑上,所以當函數沒有被redis執行時,它正常工作。
我缺少什麼?
在ADITION ......這是Redis的-CLI監視器顯示的日誌:
1497331842.335658 [0 [::1]:59600] "MULTI"
1497331842.335722 [0 [::1]:59600] "SADD" "rq:queues" "rq:queue:default"
1497331842.335762 [0 [::1]:59600] "HSET" "rq:job:afe583b0-82e1-45ae-830b-9564faaa932e" "status" "queued"
1497331842.335776 [0 [::1]:59600] "HMSET" "rq:job:afe583b0-82e1-45ae-830b-9564faaa932e" "timeout" "180" "description" "mailchimp_get_subscribed.mailchimp_get_subscribed()" "data" "\x80\x04\x95<\x00\x00\x00\x00\x00\x00\x00(\x8c1mailchimp_get_subscribed.mailchimp_get_subscribed\x94N)}\x94t\x94." "status" "queued" "enqueued_at" "2017-06-13T05:30:42Z" "created_at" "2017-06-13T05:30:42Z" "origin" "default"
1497331842.335827 [0 [::1]:59600] "RPUSH" "rq:queue:default" "afe583b0-82e1-45ae-830b-9564faaa932e"
1497331842.335862 [0 [::1]:59600] "EXEC"
1497331842.336224 [0 [::1]:59600] "HGET" "rq:job:afe583b0-82e1-45ae-830b-9564faaa932e" "result"
1497331847.342004 [0 [::1]:59600] "HGET" "rq:job:afe583b0-82e1-45ae-830b-9564faaa932e" "result"