我有目录里面the_files
一个文本文件,其中包含几个行这样芹菜如何实际执行任务?
aaaaabbbb cccc--ddddeee ffff
gggjjjkkk eers--kklliii kkll
...
我写的操作在文本文件中的每一行芹菜脚本。
from celery import Celery
import os
app = Celery('tasks', broker='amqp://[email protected]//')
path = "the_files/"
@app.task
def do_task_txt():
dir_path = os.listdir(path)
for file in dir_path:
if file.endswith(".txt"):
f = open(path + file, "r")
for line in f:
string1 = line[0:14].replace(" ", "")
string2 = line[16:].replace(" ", "")
#print string1, string2
return string1, string2
f.close()
当我运行此脚本芹菜它提供了以下结果
[tasks]
. tasks.do_task_txt
[2017-03-22 13:51:00,713: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2017-03-22 13:51:00,791: INFO/MainProcess] mingle: searching for neighbors
[2017-03-22 13:51:01,966: INFO/MainProcess] mingle: all alone
[2017-03-22 13:51:02,055: INFO/MainProcess] [email protected] ready.
[2017-03-22 13:51:25,624: INFO/MainProcess] Received task: tasks.do_task_txt[77166520-21a8-466e-9522-cb2b1821a185]
[2017-03-22 13:51:26,152: INFO/PoolWorker-2] Task tasks.do_task_txt[77166520-21a8-466e-9522-cb2b1821a185] succeeded in 0.00866508999752s: ('aaaaabbbbcccc', 'ddddeeeffff')
只显示第一行。
我希望得到它,以示对每一行或许这样的可能?
[2017-03-22 13:51:26,152: INFO/PoolWorker-2] Task tasks.do_task_txt[77166520-21a8-466e-9522-cb2b1821a185] succeeded in 0.00866508999752s: ('aaaaabbbbcccc', 'ddddeeeffff'),('gggjjjkkkeers', 'kklliiikkll'),(.....,...)
我通过调用print string1, string2
检查了我的脚本,它没有打印结果正如我预料这样
aaaaabbbbcccc ddddeeeffff
gggjjjkkkeers kklliiikkll
...
我的问题是如何芹菜执行任务?当我执行任务do_task_txt
时,它只显示已被操作的文件中的一行。我如何显示所有被操作的行而不是一行?
谢谢您的建议。