Celery: 포도 λ‚˜λ¬΄λŠ” μ…€λŸ¬λ¦¬ μš”κ΅¬ μ‚¬ν•­μ˜ μΌλΆ€λ‘œ μ„€μΉ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 11μ›” 05일  Β·  21μ½”λ©˜νŠΈ  Β·  좜처: celery/celery

체크리슀트

  • [x] λ¬Έμ œμ— celery -A proj report 의 좜λ ₯을 ν¬ν•¨ν–ˆμŠ΅λ‹ˆλ‹€.
    (이 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μ—†λŠ” 경우 μ΅œμ†Œν•œ Celery
    영ν–₯을 λ°›λŠ” 버전).
  • [ ] Celery의 master 뢄기에 λ¬Έμ œκ°€ μžˆμŒμ„ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

μž¬ν˜„ 단계

핍 μ„€μΉ˜ μ…€λŸ¬λ¦¬

그런 λ‹€μŒ νŒŒμ΄μ¬μ—μ„œ:

μ…€λŸ¬λ¦¬ μˆ˜μž…μ—μ„œ μ…€λŸ¬λ¦¬

μ˜ˆμƒλ˜λŠ” 행동

μ…€λŸ¬λ¦¬λŠ” 잘 λŒμ•„κ°€κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ‹€μ œ 행동

  File "/root/.virtualenvs/ceres/lib/python2.7/site-packages/celery/__init__.py", line 149, in <module>
    from . import local  # noqa
  File "/root/.virtualenvs/ceres/lib/python2.7/site-packages/celery/local.py", line 15, in <module>
    from .five import bytes_if_py2, items, string, string_t
  File "/root/.virtualenvs/ceres/lib/python2.7/site-packages/celery/five.py", line 5, in <module>
    import vine.five
ImportError: No module named vine.five

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

4.3.1둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μ‹­μ‹œμ˜€.

λͺ¨λ“  21 λŒ“κΈ€

μƒˆλ‘œμš΄ 가상 ν™˜κ²½μ—μ„œ μž¬ν˜„μ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

$ pip install celery
Collecting celery
  Downloading celery-4.0.0-py2.py3-none-any.whl (395kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 399kB 1.7MB/s
Collecting kombu<5.0,>=4.0 (from celery)
  Downloading kombu-4.0.0-py2.py3-none-any.whl (178kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 184kB 2.8MB/s
Collecting pytz>dev (from celery)
  Downloading pytz-2016.7-py2.py3-none-any.whl (480kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 481kB 2.0MB/s
Collecting billiard<3.6.0,>=3.5.0.2 (from celery)
  Downloading billiard-3.5.0.2-py3-none-any.whl (102kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 102kB 3.0MB/s
Collecting amqp<3.0,>=2.1.1 (from kombu<5.0,>=4.0->celery)
  Downloading amqp-2.1.1-py2.py3-none-any.whl (48kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 51kB 3.1MB/s
Collecting vine>=1.1.3 (from amqp<3.0,>=2.1.1->kombu<5.0,>=4.0->celery)
  Downloading vine-1.1.3-py2.py3-none-any.whl
Installing collected packages: vine, amqp, kombu, pytz, billiard, celery
Successfully installed amqp-2.1.1 billiard-3.5.0.2 celery-4.0.0 kombu-4.0.0 pytz-2016.7 vine-1.1.3

λ³΄μ‹œλ‹€μ‹œν”Ό vine κ°€ μ˜¬λ°”λ₯΄κ²Œ μ„€μΉ˜λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Debian:jessie Docker μ»¨ν…Œμ΄λ„ˆμ— celery 4.0.2λ₯Ό μ„€μΉ˜ν•˜λŠ” μ€‘μž…λ‹ˆλ‹€.

λ‚˜μ—κ²Œ μΌμ–΄λ‚˜λŠ” 일은 μ…€λŸ¬λ¦¬λ₯Ό Django ν”„λ‘œμ νŠΈμ˜ μ’…μ†μ„±μœΌλ‘œ 포함할 λ•Œ νŠΉμ • 쒅속성이 μ„€μΉ˜λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€(ν”„λ‘œμ νŠΈμ˜ setup.py ). ν•΄λ‹Ή ν”„λ‘œμ νŠΈλ₯Ό pip μ„€μΉ˜ν•  λ•Œ(μ…€λŸ¬λ¦¬κ°€ setup.py 좔가됨):
Successfully installed billiard-3.5.0.2 celery-4.0.2 pytz-2016.10
그런 λ‹€μŒ λ‚˜μ€‘μ— pip install celery ν•˜λ©΄ λ‹€μŒμ„ μ–»μŠ΅λ‹ˆλ‹€.
Installing collected packages: vine, amqp, kombu

방금 λ‚˜μ—κ²Œ 일어났닀. tox λΉŒλ“œ μ€‘μž…λ‹ˆλ‹€.

[2]   File "/home/jenkins/workspace/Warrior/wsomanager-rest-staging@4/.tox/test/local/lib/python2.7/site-packages/celery/__init__.py", line 149, in <module>
[2]     from . import local  # noqa
[2]   File "/home/jenkins/workspace/Warrior/wsomanager-rest-staging@4/.tox/test/local/lib/python2.7/site-packages/celery/local.py", line 15, in <module>
[2]     from .five import bytes_if_py2, items, string, string_t
[2]   File "/home/jenkins/workspace/Warrior/wsomanager-rest-staging@4/.tox/test/local/lib/python2.7/site-packages/celery/five.py", line 5, in <module>
[2]     import vine.five
[2] ImportError: No module named vine.five

setup.py

...
install_requires=[
    ...
    'celery==4.0.2',
    ...
]
...

@malinoff λ‹€μ‹œ μ—΄ κ°€μΉ˜κ°€ μ—†λ‹€κ³  μƒκ°ν•˜μ‹­λ‹ˆκΉŒ?

이 문제λ₯Ό λ‹€μ‹œ μ—΄μ–΄ μˆ˜μ •ν•  의ν–₯이 μžˆμ§€λ§Œ μž¬ν˜„ν•  수 μžˆλŠ” μ •ν™•ν•œ 단계가 μžˆλŠ” κ²½μš°μ—λ§Œ

μ’‹μ•„, λ‚˜λŠ” μ’€ 더 파고 λ“€μ—ˆκ³  우리의 경우 λ¬Έμ œλŠ” μ‹€μ œλ‘œ μš°λ¦¬κ°€ μƒλŸ¬λ¦¬λ₯Ό μΆ”κ°€ν•˜κΈ° 전에 setup.pyμ—μ„œ 이전 λ²„μ „μ˜ kombuλ₯Ό μ§€μ •ν•˜κ³  μžˆμ—ˆκ³  pip(https://github.com)의 μ œν•œμœΌλ‘œ 인해 /pypa/pip/issues/775), ν•΄λ‹Ή 좩돌이 κ°μ§€λ˜μ§€ μ•Šκ³  celeryμ—μ„œ μ§€μ •ν•œ 버전 λŒ€μ‹  이전 버전이 μ„€μΉ˜λ˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ―Έμ•ˆν•©λ‹ˆλ‹€!
@nmcalabroso λ‹˜μ—κ²Œλ„ 도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

pip check λ₯Ό μ‹€ν–‰ν•˜λŠ” 것은 @mcgeecoμ—μ„œ μ°Έμ‘°ν•˜λŠ” pip μ œν•œμ— 따라 μΆ©λŒν•˜λŠ” 버전을 μ°ΎλŠ” 쒋은 μ§€λ¦„κΈΈμž…λ‹ˆλ‹€.

amqp 의 였래된 버전을 μ§€μ •ν•˜μ—¬ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

이 "문제"λŠ” 일반적으둜 μ‚¬λžŒλ“€μ΄ 일뢀 였래된 νŒ¨ν‚€μ§€μ— 쒅속성을 κ³ μ •ν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€... pip check λŠ” 이 문제λ₯Ό μ°Ύμ•„ μˆ˜μ •ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. 여기에 λ¬Έμ œκ°€ μžˆμŒμ„ λ‚˜νƒ€λ‚΄λ €λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. 이 티켓을 읽고 해결책을 μ°Ύμ•˜κ³  λ‚΄ 문제λ₯Ό μΌμœΌν‚€λŠ” νŒ¨ν‚€μ§€λ₯Ό ν¬ν•¨ν•˜μ—¬ ν–₯ν›„ κ²€μƒ‰μžμ˜ 문제λ₯Ό μ™„ν™”ν•˜λŠ” 데 도움이 되고 μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

Raspberry Pi 3μ—μ„œ 이 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. μ„€μΉ˜ν•  λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜μ˜ 결과인 것 κ°™μŠ΅λ‹ˆλ‹€. RPi3에 μ™„μ „νžˆ μ„€μΉ˜λ˜μ§€ μ•ŠμŒ

이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

celery init v10.1.
Using config script: /etc/default/celeryd
Traceback (most recent call last):
  File "/usr/local/bin/celery", line 7, in <module>
    from celery.__main__ import main
  File "/usr/local/lib/python3.5/dist-packages/celery/__init__.py", line 150, in <module>
    from . import local  # noqa
  File "/usr/local/lib/python3.5/dist-packages/celery/local.py", line 17, in <module>
    from .five import PY3, bytes_if_py2, items, string, string_t
  File "/usr/local/lib/python3.5/dist-packages/celery/five.py", line 7, in <module>
    import vine.five
ImportError: No module named 'vine'

μ•ˆλ…•ν•˜μ„Έμš”,

였늘 μ…€λŸ¬λ¦¬ 버전 4.3.0μ—μ„œ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œλŠ” μ…€λŸ¬λ¦¬κ°€ vine 버전 4.0.0을 μ„€μΉ˜ν•˜κ³  μžˆμ—ˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 버전 1.3.0μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

4.3.1둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μ‹­μ‹œμ˜€.

4.3.1둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μ‹­μ‹œμ˜€. λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆλ‹€.

이것은 μƒˆλ‘œμš΄ ν™˜κ²½μ—λ„ 5.0.0을 μ„€μΉ˜ν•˜λŠ” 데 λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ μ‹œλ„ν•˜μ‹­μ‹œμ˜€. λ¬Έμ œκ°€ λ˜λŠ” Kombu 버전을 μž‘μ•„λƒˆμŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ μ‹œλ„ν•˜μ‹­μ‹œμ˜€. λ¬Έμ œκ°€ λ˜λŠ” Kombu 버전을 μž‘μ•„λƒˆμŠ΅λ‹ˆλ‹€.

감사 ν•΄μš”. λ‹Ήμ‹ μ˜ 컀밋을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. λ§ˆμŠ€ν„°μ—μ„œ 개발 버전을 μ„€μΉ˜ν•΄λ„ 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

그렇지 μ•Šμ•„???
pip 버전에 λ¬Έμ œκ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆκΉŒ?

이제 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이제 "'celery.five'λΌλŠ” λͺ¨λ“ˆμ΄ μ—†μŒ"으둜 인해 μ‹€νŒ¨ν•©λ‹ˆλ‹€.

#6369λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰