· 8 years ago · Dec 11, 2017, 05:16 PM
1NetworkXError at /route/
2Given graph is not weighted.
3
4Request Method: POST
5Request URL: http://delivery.moscowfresh.ru/route/
6Django Version: 1.11.6
7Python Executable: /projects/env3/bin/uwsgi
8Python Version: 3.5.2
9Python Path: ['.', '', '/projects/env3/lib/python35.zip', '/projects/env3/lib/python3.5', '/projects/env3/lib/python3.5/plat-x86_64-linux-gnu', '/projects/env3/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/projects/env3/lib/python3.5/site-packages', '/projects/env3/src/django-rest-framework-jwt']
10Server time: Mon, 11 Dec 2017 17:05:03 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'django.contrib.gis',
19 'corsheaders',
20 'user',
21 'courier',
22 'shop',
23 'route',
24 'order',
25 'rest_framework',
26 'mapwidgets',
27 'django_rq',
28 'jsoneditor']
29Installed Middleware:
30['django.middleware.security.SecurityMiddleware',
31 'django.contrib.sessions.middleware.SessionMiddleware',
32 'django.middleware.common.CommonMiddleware',
33 'django.middleware.csrf.CsrfViewMiddleware',
34 'django.contrib.auth.middleware.AuthenticationMiddleware',
35 'django.contrib.messages.middleware.MessageMiddleware',
36 'django.middleware.clickjacking.XFrameOptionsMiddleware',
37 'corsheaders.middleware.CorsMiddleware',
38 'shop.middleware.ShopMiddleware']
39
40
41Traceback:
42
43File "/projects/env3/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
44 41. response = get_response(request)
45
46File "/projects/env3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
47 187. response = self.process_exception_by_middleware(e, request)
48
49File "/projects/env3/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
50 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
51
52File "/projects/env3/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
53 58. return view_func(*args, **kwargs)
54
55File "/projects/env3/lib/python3.5/site-packages/rest_framework/viewsets.py" in view
56 90. return self.dispatch(request, *args, **kwargs)
57
58File "/projects/env3/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
59 489. response = self.handle_exception(exc)
60
61File "/projects/env3/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
62 449. self.raise_uncaught_exception(exc)
63
64File "/projects/env3/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
65 486. response = handler(request, *args, **kwargs)
66
67File "./abstractions/viewsets.py" in create
68 19. return super(TModelViewSet, self).create(request, *args, **kwargs)
69
70File "/projects/env3/lib/python3.5/site-packages/rest_framework/mixins.py" in create
71 21. self.perform_create(serializer)
72
73File "/projects/env3/lib/python3.5/site-packages/rest_framework/mixins.py" in perform_create
74 26. serializer.save()
75
76File "/projects/env3/lib/python3.5/site-packages/rest_framework/serializers.py" in save
77 214. self.instance = self.create(validated_data)
78
79File "./route/serializers.py" in create
80 63. estimate_route.delay(route)
81
82File "/projects/env3/lib/python3.5/site-packages/rq/decorators.py" in delay
83 49. ttl=self.ttl, depends_on=depends_on)
84
85File "/projects/env3/lib/python3.5/site-packages/django_rq/queues.py" in enqueue_call
86 60. return self.original_enqueue_call(*args, **kwargs)
87
88File "/projects/env3/lib/python3.5/site-packages/django_rq/queues.py" in original_enqueue_call
89 56. return super(DjangoRQ, self).enqueue_call(*args, **kwargs)
90
91File "/projects/env3/lib/python3.5/site-packages/rq/queue.py" in enqueue_call
92 241. job = self.enqueue_job(job, at_front=at_front)
93
94File "/projects/env3/lib/python3.5/site-packages/rq/queue.py" in enqueue_job
95 317. job = self.run_job(job)
96
97File "/projects/env3/lib/python3.5/site-packages/rq/queue.py" in run_job
98 246. job.perform()
99
100File "/projects/env3/lib/python3.5/site-packages/rq/job.py" in perform
101 558. self._result = self._execute()
102
103File "/projects/env3/lib/python3.5/site-packages/rq/job.py" in _execute
104 564. return self.func(*self.args, **self.kwargs)
105
106File "./route/tasks.py" in estimate_route
107 43. sorted_points, seconds = simulated_annealing_tsp(graph, source=source_id, iterations=100)
108
109File "./lib/tsp.py" in simulated_annealing_tsp
110 244. cycle, cost = greedy_tsp(G, source, weight=weight)
111
112File "./lib/tsp.py" in greedy_tsp
113 106. raise nx.NetworkXError('Given graph is not weighted.')
114
115Exception Type: NetworkXError at /route/
116Exception Value: Given graph is not weighted.
117Request information:
118USER: delivery
119
120GET: No GET data
121
122POST: No POST data
123
124FILES: No FILES data
125
126COOKIES: No cookie data
127
128META:
129CONTENT_LENGTH = '16'
130CONTENT_TYPE = 'application/json'
131HTTP_ACCEPT = '*/*'
132HTTP_ACCEPT_ENCODING = 'gzip, deflate'
133HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
134HTTP_AUTHORIZATION = 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MTMwMjA3NDIsInVzZXJfaWQiOjIsInVzZXJuYW1lIjoiZGVsaXZlcnkiLCJuYW1lIjoiZGVsaXZlcnlAbW9zY293ZnJlc2guY29tIn0.sTGqu1-cGcpHPJ4NRiNlDt9hTbizzYm2Rge0dOEK7Xc'
135HTTP_CONNECTION = 'close'
136HTTP_HOST = 'delivery.moscowfresh.ru'
137HTTP_ORIGIN = 'http://localhost:8080'
138HTTP_REFERER = 'http://localhost:8080/'
139HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
140HTTP_X_FORWARDED_HOST = 'delivery.moscowfresh.ru'
141HTTP_X_REAL_IP = '37.17.49.46'
142PATH_INFO = '/route/'
143QUERY_STRING = ''
144REMOTE_ADDR = '127.0.0.1'
145REMOTE_PORT = '14510'
146REQUEST_METHOD = 'POST'
147REQUEST_URI = '/route/'
148SCRIPT_NAME = ''
149SERVER_NAME = 'ip-172-31-16-190'
150SERVER_PORT = '8000'
151SERVER_PROTOCOL = 'HTTP/1.0'
152UWSGI_ROUTER = 'http'
153uwsgi.node = b'ip-172-31-16-190'
154uwsgi.version = b'2.0.15'
155wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
156wsgi.file_wrapper = ''
157wsgi.input = <uwsgi._Input object at 0x7f91edb51348>
158wsgi.multiprocess = True
159wsgi.multithread = False
160wsgi.run_once = False
161wsgi.url_scheme = 'http'
162wsgi.version = '(1, 0)'
163
164Settings:
165Using settings module tmap.settings
166ABSOLUTE_URL_OVERRIDES = {}
167ADMINS = []
168ALLOWED_HOSTS = ['*']
169APPEND_SLASH = True
170AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
171AUTH_PASSWORD_VALIDATORS = '********************'
172AUTH_USER_MODEL = 'user.ApiUser'
173BASE_DIR = '/projects/tmap'
174CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
175CACHE_MIDDLEWARE_ALIAS = 'default'
176CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
177CACHE_MIDDLEWARE_SECONDS = 600
178COURIER_ASSIGNED = 1
179COURIER_BUSY = 3
180COURIER_FREE = 0
181COURIER_OFFLINE = 2
182COURIER_STATUS = "((0, 'áòþñþôõý'), (1, 'ÃÂð÷ýðчõý ýð üðршрут'), (2, 'Offline'), (3, 'ÒыÿþûýÑÂõт ÷ðúð÷'))"
183COURIER_TYPE = "((0, 'ßõшõхþô'), (1, 'ÃÂòтþ'))"
184CSRF_COOKIE_AGE = 31449600
185CSRF_COOKIE_DOMAIN = None
186CSRF_COOKIE_HTTPONLY = False
187CSRF_COOKIE_NAME = 'csrftoken'
188CSRF_COOKIE_PATH = '/'
189CSRF_COOKIE_SECURE = False
190CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
191CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
192CSRF_TRUSTED_ORIGINS = []
193CSRF_USE_SESSIONS = False
194DATABASES = {'default': {'USER': 'tmap', 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'NAME': 'tmap', 'OPTIONS': {}, 'ATOMIC_REQUESTS': False, 'HOST': 'tmap.cqxg0jiczh4k.eu-central-1.rds.amazonaws.com', 'CONN_MAX_AGE': 0, 'PORT': '', 'PASSWORD': '********************', 'TEST': {'CHARSET': None, 'NAME': None, 'COLLATION': None, 'MIRROR': None}, 'AUTOCOMMIT': True, 'TIME_ZONE': None}}
195DATABASE_ROUTERS = []
196DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
197DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
198DATETIME_FORMAT = 'N j, Y, P'
199DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
200DATE_FORMAT = 'N j, Y'
201DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
202DEBUG = True
203DEBUG_PROPAGATE_EXCEPTIONS = False
204DECIMAL_SEPARATOR = '.'
205DEFAULT_CHARSET = 'utf-8'
206DEFAULT_CONTENT_TYPE = 'text/html'
207DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
208DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
209DEFAULT_FROM_EMAIL = 'webmaster@localhost'
210DEFAULT_INDEX_TABLESPACE = ''
211DEFAULT_TABLESPACE = ''
212DEVELOPMENT_APPS = []
213DISALLOWED_USER_AGENTS = []
214EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
215EMAIL_HOST = 'localhost'
216EMAIL_HOST_PASSWORD = '********************'
217EMAIL_HOST_USER = ''
218EMAIL_PORT = 25
219EMAIL_SSL_CERTFILE = None
220EMAIL_SSL_KEYFILE = '********************'
221EMAIL_SUBJECT_PREFIX = '[Django] '
222EMAIL_TIMEOUT = None
223EMAIL_USE_LOCALTIME = False
224EMAIL_USE_SSL = False
225EMAIL_USE_TLS = False
226FILE_CHARSET = 'utf-8'
227FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
228FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
229FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
230FILE_UPLOAD_PERMISSIONS = None
231FILE_UPLOAD_TEMP_DIR = None
232FIRST_DAY_OF_WEEK = 0
233FIXTURE_DIRS = []
234FIXTURE_PATH = '/vagrant/fixtures/tmap'
235FORCE_SCRIPT_NAME = None
236FORMAT_MODULE_PATH = None
237FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
238GOOGLE_API_KEY = '********************'
239IGNORABLE_404_URLS = []
240INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'corsheaders', 'user', 'courier', 'shop', 'route', 'order', 'rest_framework', 'mapwidgets', 'django_rq', 'jsoneditor']
241INTERNAL_IPS = []
242JSON_EDITOR_CSS = 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/5.9.5/jsoneditor.css'
243JSON_EDITOR_JS = 'https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/5.9.5/jsoneditor.js'
244JWT_AUTH = {'JWT_EXPIRATION_DELTA': datetime.timedelta(0, 9000)}
245LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
246LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
247LANGUAGE_CODE = 'en-us'
248LANGUAGE_COOKIE_AGE = None
249LANGUAGE_COOKIE_DOMAIN = None
250LANGUAGE_COOKIE_NAME = 'django_language'
251LANGUAGE_COOKIE_PATH = '/'
252LOCALE_PATHS = []
253LOGGING = {}
254LOGGING_CONFIG = 'logging.config.dictConfig'
255LOGIN_REDIRECT_URL = '/accounts/profile/'
256LOGIN_URL = '/accounts/login/'
257LOGOUT_REDIRECT_URL = None
258MANAGERS = []
259MAP_WIDGETS = {'GOOGLE_MAP_API_KEY': '********************'}
260MEDIA_ROOT = ''
261MEDIA_URL = ''
262MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
263MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'corsheaders.middleware.CorsMiddleware', 'shop.middleware.ShopMiddleware']
264MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware']
265MIGRATION_MODULES = {}
266MONTH_DAY_FORMAT = 'F j'
267NUMBER_GROUPING = 0
268ORDER_ASSIGNED = 3
269ORDER_CREATED = 0
270ORDER_FINISHED = 2
271ORDER_IN_PROCESS = 1
272ORDER_STATUS = "((0, 'ÃÂþòыù'), (1, 'Ãâ€Ã¾ÑÂтðòÃȄÂõтÑÂÑÂ'), (2, '×ðòõршõý'), (3, 'ÃÂð÷ýðчõý'))"
273PASSWORD_HASHERS = '********************'
274PASSWORD_RESET_TIMEOUT_DAYS = '********************'
275POINT_STATUS = "((0, 'ÃÂõ ÿþÑÂõщõý'), (1, 'ßþÑÂõщõý'))"
276PREPEND_WWW = False
277REDIS_HOST = 'localhost'
278REDIS_PORT = 6379
279ROOT_URLCONF = 'tmap.urls'
280ROUTE_CREATED = 0
281ROUTE_FINISHED = 2
282ROUTE_IN_PROCESS = 1
283ROUTE_STATUS = "((0, 'ÃÂþòыù'), (1, 'ÒыÿþûýÑÂõтÑÂÑÂ'), (2, '×ðòõршõý'))"
284RQ_QUEUES = {'default': {'HOST': 'localhost', 'DEFAULT_TIMEOUT': 3600, 'PORT': 6379, 'ASYNC': False, 'DB': 10}}
285SECRET_KEY = '********************'
286SECURE_BROWSER_XSS_FILTER = False
287SECURE_CONTENT_TYPE_NOSNIFF = False
288SECURE_HSTS_INCLUDE_SUBDOMAINS = False
289SECURE_HSTS_PRELOAD = False
290SECURE_HSTS_SECONDS = 0
291SECURE_PROXY_SSL_HEADER = None
292SECURE_REDIRECT_EXEMPT = []
293SECURE_SSL_HOST = None
294SECURE_SSL_REDIRECT = False
295SERVER_EMAIL = 'root@localhost'
296SESSION_CACHE_ALIAS = 'default'
297SESSION_COOKIE_AGE = 1209600
298SESSION_COOKIE_DOMAIN = None
299SESSION_COOKIE_HTTPONLY = True
300SESSION_COOKIE_NAME = 'sessionid'
301SESSION_COOKIE_PATH = '/'
302SESSION_COOKIE_SECURE = False
303SESSION_ENGINE = 'django.contrib.sessions.backends.db'
304SESSION_EXPIRE_AT_BROWSER_CLOSE = False
305SESSION_FILE_PATH = None
306SESSION_SAVE_EVERY_REQUEST = False
307SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
308SETTINGS_MODULE = 'tmap.settings'
309SHORT_DATETIME_FORMAT = 'm/d/Y P'
310SHORT_DATE_FORMAT = 'm/d/Y'
311SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
312SILENCED_SYSTEM_CHECKS = []
313STATICFILES_DIRS = []
314STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
315STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
316STATIC_ROOT = '/projects/static/'
317STATIC_URL = '/static/'
318TEMPLATES = [{'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
319TEST_NON_SERIALIZED_APPS = []
320TEST_RUNNER = 'django.test.runner.DiscoverRunner'
321THOUSAND_SEPARATOR = ','
322TIME_FORMAT = 'P'
323TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
324TIME_PER_POINT = 900
325TIME_ZONE = 'UTC'
326USE_ETAGS = False
327USE_I18N = True
328USE_L10N = True
329USE_THOUSAND_SEPARATOR = False
330USE_TZ = True
331USE_X_FORWARDED_HOST = False
332USE_X_FORWARDED_PORT = False
333WSGI_APPLICATION = 'tmap.wsgi.application'
334X_FRAME_OPTIONS = 'SAMEORIGIN'
335YEAR_MONTH_FORMAT = 'F Y'
336
337
338You're seeing this error because you have DEBUG = True in your
339Django settings file. Change that to False, and Django will
340display a standard page generated by the handler for this status code.