我有mongoengine的内存问题(在python中).
假设我有大量的custom_documents(数千).我想要处理它们,如下所示:
for item in custom_documents.objects():
process(item)
Run Code Online (Sandbox Code Playgroud)
问题是custom_documents.objects()加载内存中的每个对象,我的应用程序使用几GB ...
我怎样才能让它更具记忆性呢?有没有办法让mongoengine懒惰地查询数据库(它在迭代查询集时请求对象)?
我有两个PHP应用程序,它们具有相同名称的twho类. - 带有"Project"类的app1 - 带有"Project"类的app2
我必须在第二个应用程序中使用第一个应用程序的类,但是两个带有一个名称的类会导致错误("PHP致命错误:无法重新声明类Project ...").
我不能改变类名.我必须使用PHP 5.2(PHP 5.2中没有命名空间).
有解决方案吗?
也许 :
我不知道PHP是否可行(没有找到任何关于此的资源),我不知道更好的方法来管理这个......
我正在尝试使用 clojure 中的给定步骤迭代列表。
在 python 中,我会执行以下操作:
xs = list(range(10))
xs[::2]
# out: [0, 2, 4, 6, 8]
xs[1::2]
# out: [1, 3, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)
我想不出一个感觉惯用的 clojure 解决方案。
这是我能想到的最好的:
(defn iterate-step-2 [xs]
(map first (take-while some? (iterate nnext xs))))
(iterate-step-2 (range 10))
; out: (0 2 4 6 8)
(iterate-step-2 (rest (range 10)))
; out: (1 3 5 7 9)
Run Code Online (Sandbox Code Playgroud)
但它不像 python 解决方案那样通用(步骤不可配置)和灵活。此外,它似乎过于复杂。
有一个更好的方法吗 ?
我想列出所有迁移和数据库状态(是否已应用迁移)。
我正在寻找与 Rails 相当的东西rake db:migrate:status。
示例输出rake db:migrate:status:
database: dev
Status Migration ID Migration Name
--------------------------------------------------
up 20180108162849 Add user table
up 20180110135954 Add article table
down 20180130152036 Add index to user
Run Code Online (Sandbox Code Playgroud) python ×2
alembic ×1
class ×1
clojure ×1
conflict ×1
flask ×1
mongodb ×1
mongoengine ×1
namespaces ×1
php ×1
sqlalchemy ×1