simple celery test with Print doesn't go to Terminal

旧城冷巷雨未停 提交于 2019-12-23 21:25:55

问题


EDIT 1:

Actually, print statements outputs to the Celery terminal, instead of the terminal where the python program is ran - as @PatrickAllen indicated

OP

I've recently started to use Celery, but can't even get a simple test going where I print a line to the terminal after a 30 second wait.

In my tasks.py:

from celery import Celery

celery = Celery(__name__, broker='amqp://guest@localhost//', backend='amqp://guest@localhost//')

@celery.task
def test_message():
    print ("schedule task says hello")

in the main module for my package, I have:

import tasks.py


if __name__ == '__main__':
    <do something>
    tasks.test_message.apply_async(countdown=30)

I run it from terminal:

celery -A tasks worker --loglevel=info

Task is ran correctly, but nothing on the terminal of the main program. Celery output:

[2016-03-06 17:49:46,890: INFO/MainProcess] Received task: tasks.test_message[4282fa1a-8b2f-4fa2-82be-d8f90288b6e2] eta:[2016-03-06 06:50:16.785896+00:00]
[2016-03-06 17:50:17,890: WARNING/Worker-2] schedule task says hello
[2016-03-06 17:50:17,892: WARNING/Worker-2] The client is not currently connected.
[2016-03-06 17:50:18,076: INFO/MainProcess] Task tasks.test_message[4282fa1a-8b2f-4fa2-82be-d8f90288b6e2] succeeded in 0.18711688100120227s: None

来源:https://stackoverflow.com/questions/35824053/simple-celery-test-with-print-doesnt-go-to-terminal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!