>我使用 flower 来监视芹菜函数,但如果结果字符串很长,flower 不会显示全部。
当我用python向花朵发送请求时,结果是一样的,结果仍然不完整。
{'Name': {21: {'state': 'open', 'reason': 'syn-ack', 'name': 'ftp', 'product': 'vsftpd', 'version': '2.3.4', 'extrainfo': '', 'conf': '10', 'cpe': 'cpe:/a:vsftpd:vsftpd:2.3.4'}, 22: {'state': 'open', 'reason': 'syn-ack', 'name': 'ssh', 'product': 'OpenSSH', 'version': '4.7p1 Debian 8ubuntu1', 'extrainfo': 'protocol 2.0', 'conf': '10', 'cpe': 'cpe:/o:linux:linux_kernel'}, 23: {'state': 'open', 'reason': 'syn-ack', 'name': 'telnet', 'product': 'Linux telnetd', 'version': '', 'extrainfo': '', 'conf': '10', 'cpe': 'cpe:/o:linux:linux_kernel'}, 25: {'state': 'open', 'reason': 'syn-ack', 'name': 'smtp', 'product': 'Postfix smtpd', 'version': '', 'extrainfo': '', 'conf': '10', 'cpe': 'cpe:/a:postfix:postfix'}, 53: {'state': 'open', 'reason': 'syn-ack', 'name': 'domain', 'product': 'ISC BIND', 'version': '9.4.2', 'extrainfo': '', 'conf': '10', 'cpe': 'cpe:/a:isc:bind:9.4.2', 'script': {...}}, 80: {'state': 'open', 'reason': 'syn-ack', 'name': 'http', 'product': 'Apache httpd', 'version': '2.2.8', 'extrainfo': '(Ubuntu...', ...}}}
更新:我按照你@sp1rs说的做了,我设置了resultrepr_maxsize非常高的数字,但我得到的 json 仍然没有带来一些部分,例如"脚本"。它仍然显示 {...}。我不能在这里复制粘贴它,因为太长了,但我可以拍照。您可以看到"脚本"键没有结果。(3.行(ibb.co/G0YShMK
除此之外,如果我在 python shell 中使用 get(( 函数获得函数结果,"脚本"键和值可以安全地出现,但花不会带来它们。知道吗?
花只是仪表板,将显示芹菜给它的东西。对于性能问题,芹菜限制任务结果的长度。
https://docs.celeryproject.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.resultrepr_maxsize
默认情况下resultrepr_maxsize = 1024
. 更改resultrepr_maxsize
值以增加最终结果的长度。