芹菜上看不到指纹

2024-09-30 13:21:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始用Django芹菜,并把它包括在我的项目中

但是我在控制台中看不到print语句或return语句

我看了看:

Print statement in Celery scheduled task doesn't appear in terminal

simple celery test with Print doesn't go to Terminal

系统:Windows、Pycharm、Python3、django 1.9、Celery 4.02、django Celery beat 1.01

开车/芹菜.py

from __future__ import absolute_import, unicode_literals
from celery import Celery
from celery.schedules import crontab
import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'advocate.local_settings')

app = Celery(
     'drive',
     broker='redis://localhost:6379/0',
     include=['drive.celery_tasks']
)

app.config_from_object('django.conf:settings', namespace='CELERY')

app.conf.beat_schedule = {
    'add-every-minute': {
        'task': 'drive.celery_tasks.add',
        'schedule': crontab(),
    },
}

app.conf.timezone = 'UTC'

# Optional configuration, see the application user guide.
app.conf.update(
    result_expires=3600,
)


if __name__ == '__main__':
    app.start()

驱动/芹菜_任务.py

^{pr2}$

芹菜运行命令

celery -A drive beat -l info

在控制台中显示

LocalTime -> 2017-07-12 14:07:58
Configuration ->
    . broker -> redis://localhost:6379/0
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> celerybeat-schedule
    . logfile -> [stderr]@%INFO
    . maxinterval -> 5.00 minutes (300s)
[2017-07-12 14:07:58,548: INFO/MainProcess] beat: Starting...
[2017-07-12 14:07:59,688: INFO/MainProcess] Scheduler: Sending due task add-every-minute (drive.celery_tasks.add)
[2017-07-12 14:08:00,779: INFO/MainProcess] Scheduler: Sending due task add-every-minute (drive.celery_tasks.add)
[2017-07-12 14:09:00,000: INFO/MainProcess] Scheduler: Sending due task add-every-minute (drive.celery_tasks.add)

当我开始工作芹菜-A驱动器工人-1信息

 -------------- celery@Mathur v4.0.2 (latentcall)
---- **** -----
--- * ***  * -- Windows-10-10.0.15063-SP0 2017-07-12 14:51:00
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         drive:0x351b290
- ** ---------- .> transport:   redis://localhost:6379/0
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . drive.celery_tasks.add
  . drive.celery_tasks.weekly_digest_mails

[2017-07-12 14:51:00,403: CRITICAL/MainProcess] Unrecoverable error: AttributeError("Can't pickle local object 'Pool.__init__.
<locals>.Process'",)
Traceback (most recent call last):
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\celery\worker\worker.py", line 203, in start
    self.blueprint.start(self)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\celery\bootsteps.py", line 119, in start
    step.start(parent)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\celery\bootsteps.py", line 370, in start
    return self.obj.start()
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\celery\concurrency\base.py", line 131, in start
    self.on_start()
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\celery\concurrency\prefork.py", line 112, in on_st
art
    **self.options)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\pool.py", line 1008, in __init__
    self._create_worker_process(i)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\pool.py", line 1117, in _create_worker_pr
ocess
    w.start()
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\process.py", line 122, in start
    self._popen = self._Popen(self)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\context.py", line 383, in _Popen
    return Popen(process_obj)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\popen_spawn_win32.py", line 79, in __init
__
    reduction.dump(process_obj, to_child)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\reduction.py", line 99, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'Pool.__init__.<locals>.Process'

(share) C:\Users\Vaibhav\Desktop\DoSelect\trueshare\advocate>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\spawn.py", line 165, in spawn_main
    exitcode = _main(fd)
  File "c:\users\vaibhav\desktop\doselect\trueshare\share\lib\site-packages\billiard\spawn.py", line 207, in _main
    self = pickle.load(from_parent)
EOFError: Ran out of input

Tags: inpysharelibpackageslinesitestart

热门问题