ActiDoo / gamification-engine

gamification-engine (gengine) is a framework for developing gamification features for your application
MIT License
429 stars 108 forks source link

Errors on fresh installation with demo data populated #10

Closed romdim closed 8 years ago

romdim commented 8 years ago

Response on progress API call with user id 1:

{"achievements": {}, "achievement_errors": {"1": {"id": 1, "error": "Traceback (most recent call last):\n File \"/home/fantaus/Documents/cg/gengine/views.py\", line 92, in ea\n return Achievement.evaluate(user, achievement[\"id\"])\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 763, in evaluate\n return cache_achievement_eval.get_orcreate(\"%s%s\" % (user[\"id\"],achievement_id),generate)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 657, in get_or_create\n async_creator) as value:\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 158, in enter\n return self._enter()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 98, in _enter\n generated = self._enter_create(createdtime)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 149, in _enter_create\n created = self.creator()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 625, in gen_value\n created_value = creator()\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 682, in generate\n Goal.evaluate(goal, user_id, user_wants_level,None)\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 1002, in evaluate\n users_progress = Goal.compute_progress(goal,user_id)\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 993, in compute_progress\n q = cache_goal_statements.get_or_create(str(goal[\"id\"]),generate_statement_cache)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 657, in get_or_create\n async_creator) as value:\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 158, in enter\n return self._enter()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 98, in _enter\n generated = self._enter_create(createdtime)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 149, in _enter_create\n created = self.creator()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 630, in gen_value\n self.backend.set(key, value)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/backends/file.py\", line 239, in set\n compat.pickle.HIGHEST_PROTOCOL)\nPicklingError: Can't pickle <type 'function'>: attribute lookup builtin.function failed\n"}, "2": {"id": 2, "error": "Traceback (most recent call last):\n File \"/home/fantaus/Documents/cg/gengine/views.py\", line 92, in ea\n return Achievement.evaluate(user, achievement[\"id\"])\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 763, in evaluate\n return cache_achievement_eval.get_orcreate(\"%s%s\" % (user[\"id\"],achievement_id),generate)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 657, in get_or_create\n async_creator) as value:\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 158, in enter\n return self._enter()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 98, in _enter\n generated = self._enter_create(createdtime)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 149, in _enter_create\n created = self.creator()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 625, in gen_value\n created_value = creator()\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 682, in generate\n Goal.evaluate(goal, user_id, user_wants_level,None)\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 1002, in evaluate\n users_progress = Goal.compute_progress(goal,user_id)\n File \"/home/fantaus/Documents/cg/gengine/models.py\", line 993, in compute_progress\n q = cache_goal_statements.get_or_create(str(goal[\"id\"]),generate_statement_cache)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 657, in get_or_create\n async_creator) as value:\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 158, in enter\n return self._enter()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 98, in _enter\n generated = self._enter_create(createdtime)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py\", line 149, in _enter_create\n created = self.creator()\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py\", line 630, in gen_value\n self.backend.set(key, value)\n File \"/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/backends/file.py\", line 239, in set\n compat.pickle.HIGHEST_PROTOCOL)\nPicklingError: Can't pickle <type 'function'>: attribute lookup builtin.function failed\n"}}}

feldi-online commented 8 years ago

There was an error in the correct configuration of the caching backends. Some queries are not supported by the file caching backend due to serialization issues. I have changed it to an in memory backend in commit 61358338c5bcab4bd0f6c48158a88adc34cc8537. The new version is already released https://github.com/ActiDoo/gamification-engine/releases/tag/v0.1.36