Django 获取facebook图片时芹菜任务错误
我有以下芹菜任务:Django 获取facebook图片时芹菜任务错误,django,celery,python-requests,Django,Celery,Python Requests,我有以下芹菜任务: @task def get_users_facebook_as_profile_icon(user_id, facebook_id): logger.info('Grabbing users facebook picture') url = "http://graph.facebook.com/%s/picture?type=large" % facebook_id import requests response = requests.ge
@task
def get_users_facebook_as_profile_icon(user_id, facebook_id):
logger.info('Grabbing users facebook picture')
url = "http://graph.facebook.com/%s/picture?type=large" % facebook_id
import requests
response = requests.get(url)
if response.status_code != 200:
raise Exception("Could not get facebook profile picture")
...
在这之后,我有了更多,但我一直得到以下错误:
"AssertionError('PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()',)"
Task was called with args: (3246, 17500596) kwargs: {}.
The contents of the full traceback was:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 437, in __protected_call__
return self.run(*args, **kwargs)
File "/home/ubuntu/mounzawebsite/mounza/celery_tasks/login_registration.py", line 42, in get_users_facebook_as_profile_icon
hashname = user.generate_picture_name()
File "/home/ubuntu/mounzawebsite/mounza/web/models.py", line 515, in generate_picture_name
return generate_random_name(None)
File "/home/ubuntu/mounzawebsite/mounza/web/models.py", line 40, in generate_random_name
str(random.randint(1, 99982098098908237)) +
File "/usr/lib/python2.7/dist-packages/Crypto/Random/__init__.py", line 41, in get_random_bytes
return _UserFriendlyRNG.get_random_bytes(n)
File "/usr/lib/python2.7/dist-packages/Crypto/Random/_UserFriendlyRNG.py", line 213, in get_random_bytes
return _get_singleton().read(n)
File "/usr/lib/python2.7/dist-packages/Crypto/Random/_UserFriendlyRNG.py", line 163, in read
return _UserFriendlyRNG.read(self, bytes)
File "/usr/lib/python2.7/dist-packages/Crypto/Random/_UserFriendlyRNG.py", line 122, in read
self._check_pid()
File "/usr/lib/python2.7/dist-packages/Crypto/Random/_UserFriendlyRNG.py", line 138, in _check_pid
raise AssertionError("PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()")
AssertionError: PID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()
我试着在网上深入研究,却找不到根本原因。但这是唯一发生此错误的任务。唯一的区别是我从Facebook下载了一张图片,但我从来没有在其他地方看到过这个问题,包括我下载图片的其他任务
如果我通过web浏览器来访问URL,它会工作得很好,但只有通过这个任务它才会失败。还有什么其他原因可能导致这种情况吗
我已经用尽了所有的努力来解决这个问题:以下是原因:
始终运行以下各项:
Crypto.Random.atfork()
初始化新工作进程时。做了,做了