ç§ãåŽåè
ãå§ãããšããããã«error: [Errno 104] Connection reset by peer
gevent poolã䜿çšããå Žåãã¯ãŒã«ãŒãéå§ããŠãã3ååŸã«ãšã©ãŒãçºçããŸã
ããªãã©ãŒã¯ããŒã«ã䜿çšããå Žåãã¯ãŒã«ãŒãéå§ããŠãã15ååŸã«ãšã©ãŒãçºçããŸã
Celery4.2.0ã§ãåãåé¡ãçºçããŸãã ã»ããª4.1.1ã§ã¯æã£ãŠããŸããã ããŒã«ã«ã§ã¯ãåžžã«ã§ã¯ãããŸããããErrno 104ãå ¥æããããšããããããŸããtravisãã«ãã§ã¯ã4.2.0ã§ããäžè²«ããŠå€±æããããã§ãïŒ4.1.1ã§æåããŸãïŒã @axiaoxinãå ±åããæéäŸåæ§ã«æ°ã¥ããŠããŸããã
次ã®ã³ãã³ãã®åºåãæäŸããŠããã ããŸããïŒ
$ celery -A proj report
ããã«ã¡ã¯@georgepsarakisããã¯ç§ã®ã¬ããŒãã§ã
software -> celery:4.2.0 (windowlicker) kombu:4.2.1 py:2.7.5
billiard:3.5.0.3 py-amqp:2.3.2
platform -> system:Linux arch:64bit, ELF imp:CPython
loader -> celery.loaders.app.AppLoader
settings -> transport:amqp
results:sentinel://:**@10.18.7.1:26379/1;sentinel://:[email protected]:26379/1;sentinel://:[email protected]:26379/1
JSON_AS_ASCII: False
CACHED_OVER_EXEC_MILLISECONDS: 800
LOG_PEEWEE_SQL: False
SESSION_REFRESH_EACH_REQUEST: True
APP_ROOT_PATH: '/data/srv/zns/app'
REDIS_URL: 'redis://:[email protected]:6379/2'
PROJECT_ROOT_PATH: '/data/srv/zns'
FLATPAGES_ROOT: '/data/srv/zns/app/docs'
SESSION_COOKIE_SAMESITE: None
PROPAGATE_EXCEPTIONS: None
CELERYD_SEND_EVENTS: True
REDIS_LOCK_TIMEOUT: 1800
FAKE_HANDLE_TASK: False
SECRET_KEY: u'********'
BROKER_URL: u'amqp://notifer:********@zns.com:5672/notifer_celery_broker'
ENTRY_RATE_LIMIT: 0
SENTRY_DSN: 'http://6a0ce3f93804422da7321f45353c69d7:[email protected]/10'
SWAGGER: {
'description': '<a href="/docs" target="_blank">\xe5\x85\xb6\xe4\xbb\x96\xe6\x96\x87\xe6\xa1\xa3</a>',
'doc_expansion': 'list',
'footer_text': u'\u6709\u4efb\u4f55\u7591\u95ee\u8bf7\u54a8\u8be2 ashinchen',
'hide_top_bar': True,
'specs': [{ 'endpoint': 'apispec', 'route': '/apispec.json'}],
'termsOfService': None,
'title': 'zns API',
'uiversion': 3,
'version': '0.0.1'}
LOG_LEVEL: 'info'
APPLICATION_ROOT: '/'
SERVER_NAME: None
LOG_PATH: '/data/srv/zns/logs'
SERVICE_NAME: 'zns'
CELERYD_MAX_TASKS_PER_CHILD: 10000
TESTING: False
MYSQL_URL: 'mysql+pool://user:[email protected]:3306/zns?max_connections=40&stale_timeout=300'
TEMPLATES_AUTO_RELOAD: None
CELERY_RESULT_PERSISTENT: True
JSONIFY_MIMETYPE: 'application/json'
TOF_APP_KEY: u'********'
TOF_SYS_ID: 1
JSON_KEYCASE: u'********'
TOF_URL: 'http://tof.com/api/v1'
FLATPAGES_EXTENSION: ['.md', '.html', '.htm', '.txt']
SESSION_COOKIE_HTTPONLY: True
USE_X_SENDFILE: False
REQUESTS_POOL_SIZE: 10
API_BIND: u'********'
SESSION_COOKIE_SECURE: False
CACHED_EXPIRE_SECONDS: 60
REDIS_SENTINEL: {
'db': 0,
'master_name': 'redis-master',
'nodes': [ ('10.18.7.1', 26379),
('10.16.19.22', 26379),
('10.16.19.21', 26379)],
'password': u'********'}
SESSION_COOKIE_DOMAIN: None
SESSION_COOKIE_NAME: 'session'
EXCEPTION_RETRY_COUNT: 2
CELERY_TASK_RESULT_EXPIRES: 604800
MAX_COOKIE_SIZE: 4093
ENTRY_RATE_PER: 0
TOF_WEIXIN_SENDER: 'x-ashin'
ENV: 'production'
CELERYD_TASK_SOFT_TIME_LIMIT: 30
DEBUG: False
PREFERRED_URL_SCHEME: 'http'
EXPLAIN_TEMPLATE_LOADING: False
CELERY_RESULT_BACKEND:u'sentinel://:********@10.18.7.1:26379/1;sentinel://:pwd@'10.16.19.22:26379/1;sentinel://:[email protected]:26379/1'
CACHED_CALL: False
FLATPAGES_AUTO_RELOAD: False
MAX_CONTENT_LENGTH: None
REQUEST_ID_KEY: u'********'
NOTIFY_MODULE: 'tof'
JSONIFY_PRETTYPRINT_REGULAR: False
LOG_FUNC_CALL: True
PERMANENT_SESSION_LIFETIME: datetime.timedelta(31)
TOF_EMAIL_SENDER: '[email protected]'
REDIS_CLUSTER: {
}
TRAP_BAD_REQUEST_ERRORS: None
JSON_SORT_KEYS: u'********'
TRAP_HTTP_EXCEPTIONS: False
SESSION_COOKIE_PATH: None
SEND_FILE_MAX_AGE_DEFAULT: datetime.timedelta(0, 43200)
SPLIT_LOGFILE_BY_LEVEL: False
PRESERVE_CONTEXT_ON_EXCEPTION: None
CELERY_RESULT_BACKEND_TRANSPORT_OPTIONS: {
'master_name': 'redis-master'}
LOG_IN_FILE: False
ãã®ã¬ããŒãã®ããã«ãäžéšã®ãã¹ã¯ãŒãã¯*ã«çœ®ãæããããŸããã
ãã®äŸ¡å€ã«ã€ããŠã¯ãrabbitmqã§geventã䜿çšããã¯ãªãŒã³ãªãããžã§ã¯ãã§ãããã確èªããŠããŸãã ã»ããªã¯ãŒã«ãŒãæ°åéèµ·åãããšãæ¥ç¶ããªã»ããããããã以éã¯ã¿ã¹ã¯ãæ¶è²»ãããªããªããŸãã
ãããŸã§ã®ãšããåãåé¡ããããŸããïŒã»ããª4.2ïŒã»ããªã®ããŒãžã§ã³ã4.1ã«ããŠã³ã°ã¬ãŒãããããšã§è§£æ±ºããŸãããããã®ãšã©ãŒãçºçããçç±ã¯ããããŸããã
ãã¹ã¿ãŒããã®ãã¹ãŠã®äŸåé¢ä¿ãšãšãã«ãã¹ã¿ãŒãã©ã³ãããã»ããªãã€ã³ã¹ããŒã«ããŠãäœãèµ·ãã£ãŠãããã確èªã§ããŸããïŒ
Celery4.2.2ã§ããã®ãšã©ãŒãçºçããŸãã
@auvipyããããšããããã¯åäœããŸãïŒ
@ yuda110äŸåé¢ä¿ã«ã©ã®ãããªå€æŽãå ãããšåé¡ã解決ãããç¥ã£ãŠããŸããïŒ
ãã®ConnectionResetã®åé¡ãçºçããŠãããCelery 4.2.1ã䜿çšããŠãããCeleryã®èŠä»¶ãšäºææ§ã®ãã次ã®ããŒãžã§ã³ãåºå®ãããŠããŸãã
billiard==3.5.0.4 # Celery needs billiard. There's a bug in 3.5.0.5
kombu==4.2.2-post1 # Celery needs kombu >= 4.2.0, < 5.0
redis==2.10.6
@charlescapps
ããããã®çããæ¶ãã®ãå¿ããâ¹ïžâ¹ïžããŒãžã§ã³ãïŒ4.2.1ã«ïŒã¢ããã°ã¬ãŒããããšåé¡ã¯è§£æ±ºããããã§ãããåã³æªç¥ã®åé¡ã«çŽé¢ããŸããã æçµçã«ã¯ããŒãžã§ã³4.0ã«ããŠã³ã°ã¬ãŒãããå¿
èŠããããŸããã
4.1ã«ããŠã³ã°ã¬ãŒããããšããšã©ãŒãä¿®æ£ãããŸããã 4.3ã¯ãŸã è©ŠããŠããŸããã
ãã®ãšã©ãŒãçºçããããšã¯ãã£ãã«ãããŸãããããã¯ãredisã¯ã©ã€ã¢ã³ãããã®ConnectionReset
ãšã©ãŒã§å§ãŸãé£éäŸå€ã§ããããšãããããŸããã Celery ChangeLogã¯ãããåè©Šè¡å¯èœãªãšã©ãŒã§ããããšã瀺ããŠããããã kombu.exceptions.OperationalError
ãã¹ããŒããããšãã«åè©Šè¡ãæå¹ã«ããã ãã§ãã
RabbitMQã䜿çšããŠãã4.3.0ã§ãåé¡ã解決ããªãããšãäŒãããã£ãã ãã§ãã ã©ããããããRedisã«ç§»è¡ãããšåé¡ãä¿®æ£ãããŸããã
kombu.exceptions.OperationalError
ãã¹ããŒããããã³ã«ææ°ããã¯ãªãã§åè©Šè¡ããããšã§ãããã解決ããŸããã ããã¥ã¡ã³ãã«ãããšããããã¯åè©Šè¡ããããšãç®çãšããŠããŸãã ãã®åé¡ãçºçããããšã¯ãã£ãã«ãªããããåè©Šè¡ããããšããå§ãããŸãã ç§ãã¡ã¯4.2.1ã«ããŸãã
ããã«ã¡ã¯ã
ãããŒã«ãŒãšããã¯ãšã³ããšããŠrabbitmqã䜿çšããŠããŸãããåãåé¡ãçºçããŠããŸãã
誰ãã解決çãæã£ãŠããŸããïŒ
åãã£ãŠæè¬ããŸãã
ããã§åãåé¡ã ããã¯ç§ã«ãšã£ãŠ100ïŒ åçŸå¯èœã§ãã äœããã®çç±ã§ããããŒã«ãŒãžã®ãœã±ããã¯ãããŒãããŒãééãšæãããééã®åŸã«åæ¢ããŸãã
å ±åæžïŒ
software -> celery:4.3.0 (rhubarb) kombu:4.5.0 py:3.6.7
billiard:3.6.0.0 py-amqp:2.4.2
platform -> system:Linux arch:64bit, ELF
kernel version:4.18.0-20-generic imp:CPython
loader -> celery.loaders.app.AppLoader
settings -> transport:amqp results:rpc:///
broker_url: 'amqp://guest:********<strong i="7">@localhost</strong>:5672//'
result_backend: 'rpc:///'
result_persistent: False
task_default_queue: 'something something'
result_expires: 3600
task_ignore_result: False
task_serializer: 'json'
result_serializer: 'json'
accept_content: ['json']
timezone: 'Europe/Berlin'
enable_utc: True
ç§ã®åé¡ã¯Erlang22.0ã«ã¢ããã°ã¬ãŒããããšãã«å§ãŸã£ããšèšããããåŸãŸããã ããããããã¯å¶çºçãªããšãããããŸããã
ä¿®æ£ãææ¡ã§ããŸããïŒ å¯èœã§ããã°ãããã¯4.4.0rc2ã«å«ãŸããŸã
ãã®åäœã¯ã4.3.0ã§ãgeventworkerã§ç¢ºèªã§ããŸãã geventããpreforkã«åãæ¿ãããšãåé¡ã解決ããããã§ãã 4.1.1ã«ããŠã³ã°ã¬ãŒãããããšããŸããããPython 3.7ã§ã¯ã³ã³ãã€ã«ããã§ããªãå€ãããŒãžã§ã³ã®geventïŒ1.2.2ïŒãå¿ èŠãªãããPython3.7ã§ã¯æ©èœããªãããã§ãã åé¡ãçºçãããšãrabbitmqãã°ã«æ¬¡ã®ã¡ãã»ãŒãžã衚瀺ãããããšã«æ°ä»ããŸããã
missed heartbeats from client, timeout: 60s
èå³æ·±ãããšã«ãããŒãããŒãã倱æããã«ãããããããã¯ãŒã«ãŒã¯ã¿ã¹ã¯ãååŸããŠæ£åžžã«åŠçããŸãã ã¯ãŒã«ãŒãåèµ·åããããŸã§ã celery inspect
ã³ãã³ãããã¹ãŠã¿ã€ã ã¢ãŠãããã ãã§ãã flower
åŒãç¶ãã¯ãŒã«ãŒã®ããã·ã¥ããŒãã«æ
å ±ã衚瀺ããŸãããã¯ãŒã«ãŒèªäœãã¯ãªãã¯ãããš404 Not Foundãšã©ãŒãçºçããè±ã¯ã»ããªæ€æ»ã³ãã³ãã«é¢é£ãããšã©ãŒããã°ã«èšé²ããŸãã
monitor_1 | 2019-08-27 17:39:05.483286 [warning ] 404 GET /worker/celery<strong i="11">@38245f8fef62</strong> (172.20.0.1): Unknown worker 'celery<strong i="12">@38245f8fef62</strong>' [tornado.general]
monitor_1 | 2019-08-27 17:39:24.608962 [warning ] 'stats' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.609429 [warning ] 'active_queues' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.609847 [warning ] 'registered' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.610221 [warning ] 'scheduled' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.610905 [warning ] 'active' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.611369 [warning ] 'reserved' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.611890 [warning ] 'revoked' inspect method failed [flower.api.control]
monitor_1 | 2019-08-27 17:39:24.612512 [warning ] 'conf' inspect method failed [flower.api.control]
ã»ããª4.4.0rc3 +æåž4.6.3ã§ããã確èªãã人ãå¿ èŠã§ããïŒ
ããŸãããã åèãŸã§ã«ãã»ããª4.4.0rc3ã«ã¯æåž4.6.4ãå¿ èŠã§ãã
celery 4.4.0rc3 has requirement kombu<5.0,>=4.6.4, but you'll have kombu 4.6.3 which is incompatible.
OKã4.4.0rc3ã¯ãã®åé¡ã解決ããŠããããã§ãã geventã¯ãŒã«ãŒã䜿çšããŠãããŒãããŒããšã©ãŒãªãã§5å以äžãã®ãŸãŸã«ããŸããã
æåž4.6.3ãäºææ§ããããŸã
ãã®å Žåã¯ãã»ããªãããžã§ã¯ãã®èŠä»¶ãã¡ã€ã«ãæŽæ°ããããšããå§ãããŸãã
ããããç§ãã¡ã¯äœãå€ããŸãããïŒ
ãŸãããããéããããåå ãšãªã£ãå€æŽç¹ããPR /ã³ãŒããªã©ãžã®ãªã³ã¯ã«ã€ããŠã®æŽå¯ãå¿ èŠã§ãã 圱é¿ãåããŠãããæé©ã§ã¯ãªãããŒãããŒããç¡å¹ã«ããããšã§åœ±é¿ã軜æžããŠããŸãïŒpreforkãrabbitmqãcelery 4.3ïŒã
@auvipy PingïŒ
OKã4.4.0rc3ã¯ãã®åé¡ã解決ããŠããããã§ãã geventã¯ãŒã«ãŒã䜿çšããŠãããŒãããŒããšã©ãŒãªãã§5å以äžãã®ãŸãŸã«ããŸããã
ãã®ãã£ãŒãããã¯ã«åºã¥ããŠåé¡ã¯è§£æ±ºãããŸãã
@auvipyåæ§ã®ãšã©ãŒã«ã€ãªããåé¡ãè€æ°ããããã§ãã åé¡ã解決ããåã«ãããããããã€ãã®å€ãããŒãžã§ã³ã®Celeryã䜿çšããŠããã°ãããŒã«ã«ã§åçŸããããšãããšäŸ¿å©ã§ãã
ãã¹ã¿ãŒãã©ã³ããè©Šãããšããå§ãããŸãã
以åã®ããŒãžã§ã³ïŒ4.1ã4.2ã4.3ãªã©ïŒã®1ã€ã§ãã°ãåçŸãã4.4ã«ã¢ããã°ã¬ãŒãããã ãã§åé¡ã解決ããããšã確èªããããšããå§ãããŸãã äžäººã®ãã£ãŒãããã¯ã«åºã¥ããŠãããªãèªèº«ã®æ€èšŒãªãã«ãã°ãéããã®ã¯å°ãæ¥ãã§ããããã§ãã
ããªãã¯åé¡ã«çŽé¢ããŠããã®ã§ãããªããææ¡ããããã«æåã«ç¢ºèªããå¿ èŠããããŸãã @czyzby
ããªããææ¡ããããã«ããªããæåã«ç¢ºèªããå¿ èŠããããŸã
_ "should"ïŒ_;ïŒãããžã§ã¯ãã®å質ã_should_æ°ã«ãã人ããããªããããã¯å ¬åŒã®ã¡ã³ããã§ãã ãœãããŠã§ã¢ãç¡æã§æäŸããŠããã ãããããšãããããŸããããã¹ãŠã®ãŠãŒã¶ãŒããããžã§ã¯ãã«è²¢ç®ããããšãçŸå®çã«æåŸ ããããšã¯ã§ããŸããã
ãšã«ãããåé¡ã®åå ãšãªã£ãæ§æã¯ãããããŸããããã¿ã¹ã¯ãå®çŸ©ãããŠããªã空ã®ãã¥ãŒã®å Žåã§ãåé¡ãç¶ããšæãã®ã§ãåçŸãããããããããŸããã ãã®åŸãRedisã«ç§»è¡ããããšã§åé¡ã解決ããŸãããããã¯ãåœæã®ããŒã ããã¯ãããžãŒãç°¡åã«å€æŽã§ããããã§ãã ãããŠãå®å šã«æ£çŽã«èšããšãCeleryã®ä»ã®åé¡ã®ããã«RQãžã®ç§»è¡ãæ€èšããŠããŸãã
4.4.0rc4ããã®åé¡ã解決ããŠããããã§ããã
ããããã§ãã¯ã§ããä»ã®äººã¯celery == 4.4.0rc4ã§ä¿®æ£ãããŸã
@auvipyç§ã¯4.3.0ã§ãããŸã«Connection reset
ã ç§ã«ãšã£ãŠ4.4.0rc4ã®åé¡ã¯ãããããŸããã
ããããã§ãã¯ã§ããä»ã®äººã¯celery == 4.4.0rc4ã§ä¿®æ£ãããŸã
4.3.0ã§åé¡ãçºçããé »åºŠã¯éåžžã«é«ãã4.4.0rc4ã§ã¯åé¡ã®çºçé »åºŠã¯ã¯ããã«äœããªããŸãããããã§ãæã
çºçããŸãã
ç§ã¯redis-server5.0.6ãšpythonredis Client 3.3.11ãæ倧14ã®å®æçãªã¿ã¹ã¯ïŒ30ç§ããšïŒã§äœ¿çšããŠããŸãã
ã ããç§ã¯ããªãã«åé¡ãåéããããã«ãé¡ãããŸãã
ããããšãïŒ
4.3.0ã§åé¡ãçºçããé »åºŠã¯éåžžã«é«ãã4.4.0rc4ã§ã¯åé¡ã®çºçé »åºŠã¯ã¯ããã«äœããªããŸãããããã§ãæã çºçããŸãã
ç§ã¯redis-server5.0.6ãšpythonredis Client 3.3.11ãæ倧14ã®å®æçãªã¿ã¹ã¯ïŒ30ç§ããšïŒã§äœ¿çšããŠããŸãã
ã ããç§ã¯ããªãã«åé¡ãåéããããã«ãé¡ãããŸãã
ããããšã
å®éããã®åé¡ã¯ããã©ã«ãèšå®ã§ãçºçããŸãã ãã ããä»ã®ã¹ã¬ããã§èª¬æãããŠããããã«ã celeryconfig.py
broker_heartbeat = 0
ãèšå®ãããšåœ¹ç«ã€ããã§ãã
celery 4.4.0rc4
ã«ã¢ããã°ã¬ãŒãããcelery.pyã«CELERY_BROKER_HEARTBEAT = 0
ãè¿œå ããåŸã§ããç§ã«ãšã£ãŠã¯äœãå€ãããªãããã§ããšã©ãŒãçºçããŸãã
ã»ããª4.2.0ãã4.10ã«ããŠã³ã°ã¬ãŒãããåŸãåé¡ã¯è§£æ±ºããŸããã§ãã
次ã®ããŒãžã§ã³ã¯ãç§ãã¡ã®ãããžã§ã¯ãã§ã¯usinfã§ãã
ããªã€ãŒã== 3.5.0.2ãæåž== 4.1.0ãã»ããª== 4.1.0ãamqp == 2.4.2
ææ¡ããŠãã ãã
ç§ãã¡ã¯ããããŸãã¯ãã®åé¡ã«éåžžã«ãã䌌ãäœããèŠå§ããŸããã
ãœãããŠã§ã¢->ã»ããªïŒ4.3.0 ïŒã«ããŒãïŒæåžïŒ4.5.0pyïŒ2.7.12
ããªã€ãŒãïŒ3.6.0.0redis ïŒ3.2.1
ããã¯1æ¥ã«æ°åçºçãå§ããŸããããå®éã®å€åã¯ãããŸããã§ããã
次ã®ãªãªãŒã¹ã§ã¯ãææ°ããŒãžã§ã³ã®celery 4.4.0ãredisãªã©ãžã®ã¢ããã°ã¬ãŒããè©Šã¿ãŠå ±åããŸãã
ïŒconcurrency = 1000ïŒgeventïŒïŒredis asbrokerïŒã§ç§ã«èµ·ãããŸãïŒ
ã»ããª== 4.4.0ïŒåŽïŒ
æåž== 4.6.7
ããªã€ãŒã== 3.6.2.0
ïŒpy-ïŒredis == 3.4.1
RedisãµãŒããŒããŒãžã§ã³= 5.0.7
Python 3.7.3
https://sentry.io/share/issue/85f87e60a7c441198c082b9ebf051693/
ã¿ã°
ç°å¢
ããã¯ãasyncioã®open_connectionã䜿çšããŠTCPãµãŒããŒã«æ¥ç¶ãããšãã«çºçããŸãã VPNå ã®ãªã¢ãŒããµãŒããŒã«æ¥ç¶ããŠãã15ååŸã«ãåæãããŸãã ããã¯æ¥ç¶ãã¢ã€ãã«ç¶æ ã§ããããã ãšæããŸãã ãªã¢ãŒããµãŒããŒå ããæ¥ç¶ããŠããå Žåãåãããšã¯èµ·ãããŸããã ããã¯ãããã¯ãŒã¯ã«é¢é£ããŠããããã§ãã
ç§ã¯èªåã®äºä»¶ã解決ããŸããïŒ Uffã
ã»ããªã®åé¡ã§ã¯ãããŸããã§ããã 4. [234] .0ãå«ãããã€ãã®ããŒãžã§ã³ãè©ŠããŸããããŸããRedisãžã®Pythonã€ã³ã¿ãŒãã§ã€ã¹ã®ããã€ãã®ããŒãžã§ã³ãè©ŠããŸããã ãããŠãç§ã¯ãã€ãåã倱æçãæã£ãŠããŸããïŒ50äžã®ãªã¯ãšã¹ãã«å¯ŸããŠçŽ2â°ïŒ
解決çã¯ãredisãµãŒããŒã®åæ§æãã€ãŸããã¹ãŠã®ã¯ã©ã¹ã®client-output-buffer-limitãç¡å¹ã«ããããšã§ããã redisã®ããã¥ã¡ã³ãã«ãããšïŒ
ããŒãå¶éã«éãããšããŸãã¯ãœããå¶éã«éããŠæå®ãããç§æ°ã®éïŒç¶ç¶çã«ïŒå°éãããŸãŸã«ãªããšãã¯ã©ã€ã¢ã³ãã¯ããã«åæãããŸãã
âŠ
ããŒãå¶éãšãœããå¶éã®äž¡æ¹ããŒãã«èšå®ããããšã§ç¡å¹ã«ã§ããŸãã
çæ§ã®ã圹ã«ç«ãŠã°å¹žãã§ãã ãŸãã¯å€åããªãã¯ç§ã®è§£æ±ºçãæ¹åããã§ãããã
ç§ã¯èªåã®äºä»¶ã解決ããŸããïŒ Uffã
ã»ããªã®åé¡ã§ã¯ãããŸããã§ããã 4. [234] .0ãå«ãããã€ãã®ããŒãžã§ã³ãè©ŠããŸããããŸããRedisãžã®Pythonã€ã³ã¿ãŒãã§ã€ã¹ã®ããã€ãã®ããŒãžã§ã³ãè©ŠããŸããã ãããŠãç§ã¯ãã€ãåã倱æçãæã£ãŠããŸããïŒ50äžã®ãªã¯ãšã¹ãã«å¯ŸããŠçŽ2â°ïŒ
解決çã¯ãredisãµãŒããŒã®åæ§æãã€ãŸããã¹ãŠã®ã¯ã©ã¹ã®client-output-buffer-limitãç¡å¹ã«ããããšã§ããã redisã®ããã¥ã¡ã³ãã«ãããšïŒ
ããŒãå¶éã«éãããšããŸãã¯ãœããå¶éã«éããŠæå®ãããç§æ°ã®éïŒç¶ç¶çã«ïŒå°éãããŸãŸã«ãªããšãã¯ã©ã€ã¢ã³ãã¯ããã«åæãããŸãã
âŠ
ããŒãå¶éãšãœããå¶éã®äž¡æ¹ããŒãã«èšå®ããããšã§ç¡å¹ã«ã§ããŸããçæ§ã®ã圹ã«ç«ãŠã°å¹žãã§ãã ãŸãã¯å€åããªãã¯ç§ã®è§£æ±ºçãæ¹åããã§ãããã
ããã¯ç§ã«ãšã£ãŠãããŸããããŸããããä»ã®ææ¡ã¯ã©ããããŸããããŸããã§ããã ããããšãããããŸããïŒ
ã»ããã¢ããã®åé¡ã解決ããããšã確èªã§ããŸãã ãã®@rganowskiã«æéãå²ããŠããã ãããããšãããããŸãïŒ
ããã§åé¡ã解決ããå Žåã¯çŽ æŽãããã§ãããæ§æãã¡ã€ã«ããããã©ã«ããåé€ããåã«ããã®èšå®ãäœãããã®ãããªããããããã©ã«ãæ§æã®äžéšã§ããã®ããç¥ã£ãŠãããšãããšæããŸãã
@Mouldeæ§æãã¡ã€ã«ããããã©ã«ããåé€ããããšã«ã€ããŠè©±ããŠãããšã¯ã©ãããæå³ããã
ãŸãããªããã®ãããªããã©ã«ããååšããã®ãç¥ãããã§ããïŒ ããã¯æèçã§ãããïŒ ãããããªããããããããããããªã¹ã¯ã¯äœã§ããïŒ ããããæ£çŽã«èšããšãç§ã¯ããããã§ãã¯ããã€ããã¯ãããŸããã 10MDã®ã¿ã¹ã¯ãããã3MDãç¡æã§è¿œå ããå¿ èŠããããŸããã
誰ããããåé¡ã解決ãããšã¯èšããŸããã§ããã ç§ã¯èªåã®å Žåã®è§£æ±ºçãèŠã€ãããšèšã£ãã ä»ã®2人ã®çžæ£ã¯ããã圌ãã®ããã«ãåããšèšããŸããã ç§ã¯ãããåãã§èªã¿ãŸããã ããããç§ããã®ããã«èªãã ããªãã®èšèïŒãããã蚌æãããã ç§ãééã£ãŠããïŒ
ã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãããŠãåé¡ããªããã©ãããç¥ãããã ããã ä»ã®çåã解決ããå Žåã¯ãä»ã®äººãšå ±æããããšãå¿ããªãã§ãã ããã
@rganowskiåæããŠããããã§ãããããã§ããç§ã®èšãåãã§ããªããäœãæå³ããŠããã®ãããããŸããããã¯ãã®ãããªæå³ã§ã¯ãããŸããã§ããããã·ã¹ãã ã®ããã©ã«ããå€æŽããåã«å°ãå¥å
šãªæçè«ãè¿œå ããããããããã¥ã¡ã³ããå°ãæ¹è©ããŸã-ãã¡ã€ã«ã«ãããäœãããã®ããã®éšåã®ã»ãã«ããªããã®èšå®ãå¿
èŠãªã®ãã«ã€ããŠã®ã¡ãã£ãšããæ
å ±ãããã°çŽ æŽãããã§ããã:)
ãããŠãããªããããã«è²»ãããæéã®ãããã§ãç§ã¯ãããèªåã§ç解ããªãã£ãã ããã
Celeryã³ãŒãã«ãšã©ãŒããªãã£ããããåé¡ã¯è§£æ±ºãããŸããããåé¡ã®èåŸã«ããåé¡ã¯è§£æ±ºãããŠããŸããã redisããã¯ãšã³ãèšå®ã®ããã¥ã¡ã³ãã«é©åãªèŠåãè¿œå ããå¿ èŠããããšæããŸãã
'client-output-buffer-limit'ãã°ãŒã°ã«ã§æ€çŽ¢ãããšãå€ãã®èå³æ·±ãèšäºãèŠã€ãããŸãã 1ã€ã¯ããã§ã«6æ³ã§ãçµæãšããŠãéåžžã«çŸããã¿ã€ãã«ã§ããThe ReplicationBuffer-Devopsã®é çãåé¿ããæ¹æ³ããããŸãã ããã§ç§ãã¡ã¯èªãããšãã§ããŸãïŒ
ã¬ããªã±ãŒã·ã§ã³ãããã¡ã®ãµã€ãºãå¢ããåã«ããã·ã³ã«ååãªã¡ã¢ãªãããããšã確èªããå¿ èŠããããŸãã
ä»ã®ããã€ãã®èšäºã§ã¯ãã¯ã©ã€ã¢ã³ããããã¡-æ¬çªç°å¢ã§Redisã䜿çšããåã«ãããã確èªããŠãã ããã èè ã¯èšãïŒ
ããã©ã«ãã§ã¯ãéåžžã®ã¯ã©ã€ã¢ã³ãïŒéåžžã®å®è¡ã³ãã³ãïŒã¯ãïŒããã·ã¥æ¹åŒã§ïŒèŠæ±ããã«ããŒã¿ãåä¿¡ããªãããå¶éãããŠããŸããããèŠæ±ã®çŽåŸã§ãããããéåæã¯ã©ã€ã¢ã³ãã®ã¿ããããŒã¿ãèŠæ±ããããããéãããŒã¿ãèŠæ±ãããã·ããªãªãäœæã§ããŸããèªãã ã
ããã¯ç§ãã¡ã®å Žåã§ã¯ãããŸãããïŒ
ç§ã«ãšã£ãŠãå°ãªããšãä»ãŸã§ã¯ãåæ§æã¯æãã§ããããšãå€æããŸããã éåžžã«éããŠç¬æã®è² è·ã§ãæ°ããã104ããšã©ãŒã¯ãããŸããã
@rganowski @Moulde @ CM2Walki
ããã«ã¡ã¯ãç§ã¯éåžžã«çŽ æŽã«èããããããããŸãããããã¹ãŠã®ã¯ã©ã¹ã®client-output-buffer-limitãç¡å¹ã«ããããã«å¿ èŠãªå€æŽãã©ãã§è¡ãããšãã§ãããæããŠãã ããã ç§ãåããšã©ãŒãçºçããŠããã®ã§ãã©ããããããç§ã¯ããªãã®çãã解éããããšãã§ããŸããã ããã§ãç§ãå¿ èŠãªå€æŽãå ããããšãã§ããããã«ãããªãã®çãã詳ãã説æããŠããã ããŸãããã ããããšãããããŸããïŒ
Celeryã³ãŒãã«ãšã©ãŒããªãã£ããããåé¡ã¯è§£æ±ºãããŸããããåé¡ã®èåŸã«ããåé¡ã¯è§£æ±ºãããŠããŸããã redisããã¯ãšã³ãèšå®ã®ããã¥ã¡ã³ãã«é©åãªèŠåãè¿œå ããå¿ èŠããããšæããŸãã
'client-output-buffer-limit'ãã°ãŒã°ã«ã§æ€çŽ¢ãããšãå€ãã®èå³æ·±ãèšäºãèŠã€ãããŸãã 1ã€ã¯ããã§ã«6æ³ã§ãçµæãšããŠãéåžžã«çŸããã¿ã€ãã«ã§ããThe ReplicationBuffer-Devopsã®é çãåé¿ããæ¹æ³ããããŸãã ããã§ç§ãã¡ã¯èªãããšãã§ããŸãïŒ
ã¬ããªã±ãŒã·ã§ã³ãããã¡ã®ãµã€ãºãå¢ããåã«ããã·ã³ã«ååãªã¡ã¢ãªãããããšã確èªããå¿ èŠããããŸãã
ä»ã®ããã€ãã®èšäºã§ã¯ãã¯ã©ã€ã¢ã³ããããã¡-æ¬çªç°å¢ã§Redisã䜿çšããåã«ãããã確èªããŠãã ããã èè ã¯èšãïŒ
ããã©ã«ãã§ã¯ãéåžžã®ã¯ã©ã€ã¢ã³ãïŒéåžžã®å®è¡ã³ãã³ãïŒã¯ãïŒããã·ã¥æ¹åŒã§ïŒèŠæ±ããã«ããŒã¿ãåä¿¡ããªãããå¶éãããŠããŸããããèŠæ±ã®çŽåŸã§ãããããéåæã¯ã©ã€ã¢ã³ãã®ã¿ããããŒã¿ãèŠæ±ããããããéãããŒã¿ãèŠæ±ãããã·ããªãªãäœæã§ããŸããèªãã ã
ããã¯ç§ãã¡ã®å Žåã§ã¯ãããŸãããïŒ
ç§ã«ãšã£ãŠãå°ãªããšãä»ãŸã§ã¯ãåæ§æã¯æãã§ããããšãå€æããŸããã éåžžã«éããŠç¬æã®è² è·ã§ãæ°ããã104ããšã©ãŒã¯ãããŸããã
ããã¥ã¡ã³ãã®æ¹åPRã«æ¬åœã«æè¬ããŸã
@ girijesh97 @auvipy
redis.confã§
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 0 0 0
client-output-buffer-limit pubsub 0 0 0
@rganowski Sirç¹°ãè¿ããŸãããç§ã¯éåžžã«çŽ æŽã«èããããããããŸããããã»ããªïŒããŒãžã§ã³4.4.2ïŒã䜿çšããŠããŠãæ¥ç¶ãšã©ãŒã®åé¡ã«çŽé¢ããŠããDjangoã¢ããªã±ãŒã·ã§ã³ããããŸãã ãã®redis.confãã¡ã€ã«ãèŠã€ãããäœæãããããã®ãæäŒã£ãŠãããŸãããã ãã®ãã¡ã€ã«ãã¢ããªã±ãŒã·ã§ã³ã§äœæããå¿ èŠããããŸããããããšãããã€ãã®ããã±ãŒãžã§å©çšã§ããŸããïŒ
ããªãã®ã±ãŒã¹ãåãã§ããå Žåãç§ãã¡ã¯è©±ããŠããŸãããããªãã®ã»ããªã¯redisãµãŒããŒã®çµæããã¯ãšã³ãã䜿çšããŠããŸãã ç§ãèšåãããã¡ã€ã«ã¯ãæšæºã®redisãµãŒããŒæ§æãã¡ã€ã«ã§ãã ãããå®éã«ã¯ã»ããªã®åé¡ã§ã¯ãªãå¯äœçšã§ããçç±ã§ãã
@auvipyåãåé¡ã®ãããŒã«ãŒããã³çµæããã¯ãšã³ããšããŠã®RabbitMQã®ä¿®æ£ã¯ãããŸããã é·æéå®è¡ãããã¿ã¹ã¯ã§ã4.4ã§ããã確èªããŸãã äžèšã®ä¿®æ£ã¯ãredisããã¯ãšã³ãå°çšã§ãã
ãŸãããã®åé¡ã¯RabbitMQãšcelery4.2.0ã§æç¶çã«çºçããŸãã ããã±ãŒãžã®ãŠãŒã¶ãŒã«åŒ·å¶ããã®ã§ã¯ãªããåè©Šè¡åŠçãçµã¿èŸŒãŸããŠããå Žåã§ãã
ç§ããããçµéšããŠããŸãã ç§ã¯Celery4.3.0ãšRabbitMQ3.3.5ã䜿çšããŠããŸãã
æãåèã«ãªãã³ã¡ã³ã
Celery4.2.2ã§ããã®ãšã©ãŒãçºçããŸãã