小编Mat*_*mer的帖子

无法pickle <type'function'>:属性查找__builtin __.函数失败

我在我的Django应用程序中收到此错误,但是,它每天只发生一次或更少,并且证明调试非常困难.

Environment:

Request Method: POST

Django Version: 1.3.1
Python Version: 2.6.6
Installed Applications:
['django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'fimedlabs',
 'data',
 'djcelery']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'fimedlabs.auth.userMiddleWare')


Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
  178.                 response = middleware_method(request, response)
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/middleware.py" in process_response
  36.                 request.session.save()
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/db.py" in save
  57.             session_data = self.encode(self._get_session(no_load=must_create)),
File "/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/base.py" in encode
  93.         pickled = pickle.dumps(session_dict, pickle.HIGHEST_PROTOCOL)

Exception Type: PicklingError at /
Exception Value: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
Run Code Online (Sandbox Code Playgroud)

我试过这个答案:

如何判断哪个对象属性pickle失败?

通过向实际错误添加self来查看是否会在Django错误中打印任何内容都无济于事.

在哪里可以打印出来自此错误的问题的对象,以便它出现在Django错误页面中?

谢谢!〜马特

编辑:我存储在缓存中的唯一对象是一个用户对象,代码如下:

class user(object): …
Run Code Online (Sandbox Code Playgroud)

python django pickle

14
推荐指数
2
解决办法
2万
查看次数

RabbitMQ/Celery/Django内存泄漏?

我最近接手了我公司正在研究的项目的另一部分,并发现了我们的RabbitMQ/Celery设置中的内存泄漏.

我们的系统具有2Gb内存,在任何给定时间大约1.8Gb.我们有多个任务可以处理大量数据并将它们添加到我们的数据库中.

当这些任务运行时,它们消耗了相当大的内存,使我们的可用内存迅速下降到16Mb到300Mb之间.问题是,在这些任务完成后,内存不会回来.

我们正在使用:

  • RabbitMQ v2.7.1
  • AMQP 0-9-1/0-9/0-8(从RabbitMQ startup_log获取此行)
  • 芹菜2.4.6
  • Django 1.3.1
  • amqplib 1.0.2
  • django-celery 2.4.2
  • kombu 2.1.0
  • Python 2.6.6
  • erlang 5.8

我们的服务器正在运行Debian 6.0.4.

我是这个设置的新手,所以如果你需要的任何其他信息可以帮助我确定这个问题的来源,请告诉我.

所有任务都有返回值,所有任务都有ignore_result = True,CELERY_IGNORE_RESULT设置为True.

非常感谢您的宝贵时间.

我当前的配置文件是:

CELERY_TASK_RESULT_EXPIRES = 30
CELERY_MAX_CACHED_RESULTS = 1
CELERY_RESULT_BACKEND = False
CELERY_IGNORE_RESULT = True
BROKER_HOST = 'localhost'
BROKER_PORT = 5672
BROKER_USER = c.celery.u
BROKER_PASSWORD = c.celery.p
BROKER_VHOST = c.celery.vhost
Run Code Online (Sandbox Code Playgroud)

django amqp rabbitmq celery django-celery

12
推荐指数
1
解决办法
4959
查看次数

如何确定是否从滚动条触发了事件

我有一个div,我已经实现了iPad像刷卡.

看看我在JSFiddle上的意思(只需在div中单击并拖动鼠标即可.)

当有人使用滚动条时,我想阻止滑动发生(单击滚动条,然后从左向右移动,仍然会进行滑动).

简而言之,我需要的是if(!event.wasTriggeredFromScrollbar)我可以在任何事件触发器中使用(在这种情况下是mousedown/move/up).

jQuery和常规'ol Javascript答案欢迎.

编辑:更有意义.

javascript jquery event-handling

6
推荐指数
1
解决办法
2608
查看次数

SQLAlchemy查询未返回所有大文本字段

首先,这是关于我的环境的一些信息:

  • 使用MSSMS作为我的数据库管理工具。
  • 使用Django 1.3
  • 使用SQLAlchemy

我在数据库中有一个文本字段,没有最大长度。其中包含890591个字符的文本。

当我使用此字段检索该字段时,SQLAlchemy将被截断为64512个字符。我也尝试过使用其他几个大行,并且始终将其截断为64512。

SELECT @@TEXTSIZE返回一些荒谬的值,例如160万,所以这不是问题。如果执行SELECT DATALENGTH(field)此操作,则返回正确的890591。因此它似乎不是数据库,而似乎是SQLAlchemy。也许这可能是某些Python限制。

有任何想法吗?我似乎不知所措。

编辑:这是所要求的更多信息:

操作系统:Debian 5.0.9

SQLAlchemy:0.7.3

SQL:MS Sql Server 2008

数据库连接:mssql + pymssql:// name:password @ server / dbname

pymssql版本:1.0.2

有问题的模型:

class RACReport(Base):
    __tablename__ = 'RACReport'
    id                      = Column(properUUID(), primary_key=True, nullable=False, default=genuuid4, server_default=text('NEWID()'))
    client_id               = Column(properUUID(), ForeignKey(Client.id), nullable=False)
    rawdata                 = Column(Text(), nullable=True)
    rawtime                 = Column(DateTime(), nullable=True, default=datetime.datetime.now())
    processeddata           = Column(Text(), nullable=True)
    processedtime           = Column(DateTime(), nullable=True)
    reportstartdate         = Column(DateTime(), nullable=False)
    reportenddata           = Column(DateTime(), nullable=False)
    numberofdocs            = …
Run Code Online (Sandbox Code Playgroud)

python sql django sqlalchemy

5
推荐指数
1
解决办法
2080
查看次数