python tornado修改celery完成任務時的輸出

脫離版本講教程都是耍流氓:

protobuf==3.0.0
kombu==3.0.37
pika==0.9.14
celery==3.1.11
tornado==4.2
tornado-celery==0.3.5
tornado-redis==2.4.18

背景:

最近給tornado加一個任務隊列,celery,然後遇到這麼一個尷尬問題,因爲是傳序列化後的ProtoBuf對象進celery,返回也是一個ProtoBuf序列化後的對象,但celery會把這個對象打印出來,類似:

[2016-11-28 18:32:56,426: INFO/Worker-1] ==============IN handler_run==============
[2016-11-28 18:32:56,431: INFO/Worker-1] [100131][UpdateUserProfile 更新用戶信息請求]                                                                                                                                                                                
[2016-11-28 18:32:56,440: WARNING/Worker-1] G:\projects\myApp\venv\lib\site-packages\sqlalchemy\engine\default.py:450: Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 478
  cursor.execute(statement, parameters)
[2016-11-28 18:32:56,540: INFO/Worker-1] ret = True
[2016-11-28 18:32:56,546: INFO/Worker-1] ==============out handler_run=============
[2016-11-28 18:32:56,552: INFO/MainProcess] Task task.app_handler_run[2e37711b-1ee3-4c1a-b840-949ddfc1f73a] succeeded in 0.125999927521s: (dp1
S'_rsp_item'
p2
S'\x08\xef\x07\x10\x01\x1a\x06\x08\x01\x12\x02OK"\xc3%\n\xc0%\x08\xa3\x8e\x06\x12\x15\xe6\x97\xa0\xe6\x95\x...
非常尷尬,給日誌文件帶來不便。


於是用全局搜索,找到G:\projects\myApp\venv\Lib\site-packages\celery\worker\job.py 的第101行:

    success_msg = """\
        Task %(name)s[%(id)s] succeeded in %(runtime)ss: %(return_value)s
    """
替換成:

    success_msg = """\
        Task %(name)s[%(id)s] succeeded in %(runtime)ss: xxx!
    """
    # success_msg = """\
    #     Task %(name)s[%(id)s] succeeded in %(runtime)ss: %(return_value)s
    # """
現在輸出就工整多了:

[2016-11-28 18:35:45,835: INFO/Worker-1] ==============IN handler_run==============
[2016-11-28 18:35:45,841: INFO/Worker-1] [100131][UpdateUserProfile 更新用戶信息請求]                                                                                                                                                                                
[2016-11-28 18:35:45,848: WARNING/Worker-1] G:\projects\myApp\venv\lib\site-packages\sqlalchemy\engine\default.py:450: Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 478
  cursor.execute(statement, parameters)
[2016-11-28 18:35:45,956: INFO/Worker-1] ret = True
[2016-11-28 18:35:45,960: INFO/Worker-1] ==============out handler_run=============
[2016-11-28 18:35:45,973: INFO/MainProcess] Task task.app_handler_run[825cb52e-3db1-4cbe-b790-5c8629b8381d] succeeded in 0.138000011444s: xxx!





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章