小编Ran*_*dra的帖子

如何禁止git commit -a选项

我们是一组开发人员,处理同一组文件.我想确保没有人做git commit -a -m或git commit -am

包括我在内的开发人员都有这种不好的习惯,git commit -am/ -a -m我们有很多特定于机器的conf文件,每次都会被提交.我可以要求我们所有人使用--assume-unchanged但是我想让开发人员根本不能使用-a标志

我能不能以某种方式实现这一目标.

git

4
推荐指数
1
解决办法
291
查看次数

PyPy如何比Cpython更快

我读过PyPy - 它怎么可能击败CPython?还有无数其他的东西,但我无法理解用Python编写的东西比python本身更快.

我能想到的唯一方法是PyPy以某种方式绕过C并直接编译成汇编语言指令.如果是这样,那就没关系了.

有人可以向我解释PyPy是如何工作的吗?我需要一个简单的答案.

我喜欢python,并希望开始贡献.PyPy看起来像一个很棒的起点,无论他们是否拉我的代码.但我无法理解我所做的简短研究.

pypy

4
推荐指数
2
解决办法
1331
查看次数

如何在Pyramid Web框架中设置响应特定文件类型的内容类型标头

我正在使用金字塔网页框架来构建一个网站.我一直在chrome控制台中收到此警告:

资源解释为Font但使用MIME类型application/octet-stream传输:"http:static/images/fonts/font.woff".

如何摆脱此警告消息?

我已经配置了要使用的静态文件 add_static_view

我可以想办法通过为响应添加一个订阅者函数来检查路径是否结束.woff并将响应头设置为application/x-font-woff.但它看起来不像一个干净的解决方案.有没有办法告诉金字塔通过一些设置来做到这一点.

python pyramid

4
推荐指数
1
解决办法
1180
查看次数

无法从命令行导入 ZopeTransactionExtension

我有一个金字塔应用程序,它有这条线

from zope.sqlalchemy import ZopeTransactionExtension
Run Code Online (Sandbox Code Playgroud)

它可以正常工作

但是,如果我用命令行尝试相同的方法,我会得到

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named sqlalchemy
Run Code Online (Sandbox Code Playgroud)

from zope.sqlalchemy.datamanager import ZopeTransactionExtension
ImportError: No module named sqlalchemy.datamanager
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会这样。文档有相同的行,似乎至少对他们有用

sqlalchemy zope pyramid

4
推荐指数
1
解决办法
2903
查看次数

如何确定数字可以分解为较小数字的总和的方式

我的朋友给了我这个问题他在接受采访时被问到他无法回答.经过几个小时的思考,我们无法提出解决方案.

考虑一下三号.我需要编写一个程序来计算不同的方式,你可以将数字写为小于数字的数字之和.

例如:

如果数字是2,它可以写成sum(1,1)

如果数字是3,它可以写成sum(1,1,1),sum(1,2),sum(2,1)

如果数字是4,它可以写成sum(1,1,1,1),sum(1,3),sum(3,1),sum(1,2,1),sum(2,1) ,1),总和(1,1,2),总和(2,2).7种不同的方式

如果数字是5,它可以写成sum(1,1,1,1,1),sum(1,1,1,2),sum(1,1,2,1),sum(1, 2,1,1),总和(2,1,1,1)等

如何编写程序来确定数字可以分解为较小数字的总和的方式

如果使用http://www.programminglogic.com/integer-partition-algorithm/中的算法将sum(1,2)和sum(2,1)视为等效,我能够找到解决问题的方法.

但问题是总和(1,2)和总和(2,1)是不同的.我根本看不到这样做的模式.

任何帮助,将不胜感激.我只是想知道解决方案.

c python algorithm

4
推荐指数
2
解决办法
1840
查看次数

如何将grep的值分配给变量并与字符串连接?

我的开发机器上有几台服务器.我有一个脚本来运行它们,我一次只在几个git分支上工作.因此,每当我运行运行服务器的脚本时,我希望它打印哪个服务器从哪个git分支尝试以不同的颜色运行.

这是我的,但它没有正常工作.

git_branch= git branch|grep '*'|cut -c3-
echo -e "\e[1;33;40m Running API server on git branch  $git_branch \e[0m"
...
REST_OF_THE_CODE_THAT_RUNS_THE_DEV_SERVER
...
Run Code Online (Sandbox Code Playgroud)

它首先打印git分支,似乎根本没有将值赋给变量.我无法弄清楚我哪里出错了

bash shell grep

3
推荐指数
1
解决办法
4473
查看次数

使用sqlalchemy + postgresql时如何在celery中回滚异常

这就是我的代码

import transaction

@app.task(name='task_name')
def task_name_fn(*args, **kwargs):
   with transaction.manager:
       try:
          actual_fn(*args, **kwargs)
          transaction.commit()
       except:
          transaction.abort()
Run Code Online (Sandbox Code Playgroud)

但是,我transaction.abort()似乎并没有退缩。此工人上的所有后续芹菜任务均失败。我收到以下错误

由于刷新期间先前存在异常,因此该会话的事务已回滚。要开始与此Session进行新事务,请首先发出Session.rollback()。

我究竟做错了什么?
更好的问题是,您将如何编写task_name_fn以便不会发生此问题?

postgresql sqlalchemy celery pyramid

3
推荐指数
1
解决办法
516
查看次数

如何在Postgres中实现excel的SMALL和LARGE函数?

LARGE允许您在数组中找到第n个最大值.SMALL允许您在数组中找到第n个最小值.

我想做点什么 select SMALL([col1, col2, col3, 2], 2), LARGE([col1, col2, col3, 5], 2) from table1;

我不是在寻找最好的和最少的功能.我想找到的第n个最小/最大的价值,而不是最小/最大值.

postgresql

3
推荐指数
1
解决办法
60
查看次数

是否可以在sqlalchemy中自动设置一些列

我有这两列的模型

  1. created_at:date
  2. last_updated_at:日期

是否可以在插入或更新发生时自动设置这些值.或者我应该在这个类中调用一个方法来做到这一点.

python mysql sqlalchemy pyramid

2
推荐指数
1
解决办法
288
查看次数

"ResourceClosedError:交易已关闭",芹菜节拍和sqlalchemy +金字塔应用程序错误

我有一个金字塔应用程序叫mainsite.

该站点以非常异步的方式工作,主要是通过从视图启动的线程来执行后端操作.

它使用sqlalchemy连接到mysql,并使用ZopeTransactionExtension进行会话管理.

到目前为止,应用程序运行良好.

我需要在其上运行定期作业,它需要使用从视图中启动的一些相同的异步函数.

我使用了apscheduler,但遇到了问题.所以我想把celery beat作为一个单独的过程,将mainapp视为一个库并导入要使用的函数.

我的芹菜配置看起来像这样:

from datetime import timedelta
from api.apiconst import RERUN_CHECK_INTERVAL, AUTOMATION_CHECK_INTERVAL, \
    AUTH_DELETE_TIME

BROKER_URL = 'sqla+mysql://em:em@localhost/edgem'
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = 'mysql://em:em@localhost/edgem'

CELERYBEAT_SCHEDULE = {
    'rerun': {
        'task': 'tasks.rerun_scheduler',
        'schedule': timedelta(seconds=RERUN_CHECK_INTERVAL)
    },
    'automate': {
        'task': 'tasks.automation_scheduler',
        'schedule': timedelta(seconds=20)
    },
    'remove-tokens': {
        'task': 'tasks.token_remover_scheduler',
        'schedule': timedelta(seconds=2 * 24 * 3600 )
    },
}

CELERY_TIMEZONE = 'UTC'
Run Code Online (Sandbox Code Playgroud)

tasks.py是

from celery import Celery
celery = Celery('tasks')
celery.config_from_object('celeryconfig')


@celery.task
def rerun_scheduler():
    from mainsite.task import check_update_rerun_tasks
    check_update_rerun_tasks() …
Run Code Online (Sandbox Code Playgroud)

sqlalchemy celery pyramid

2
推荐指数
1
解决办法
2509
查看次数

如何从sqlalchemy中的select语句创建一个新表?

我使用sqlalchemy的核心功能来编写一些抽象层.图层本身需要能够从select语句创建表.

示例代码:

metadata = MetaData(bind=engine)
table = Table(table_name, metadata, autoload=True, autoload_with=engine)
s = select(table).where(table.c.column_1 > 10)
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是从上面的select语句创建一个新表.我该怎么做?

注意:我也在https://groups.google.com/forum/#!topic/sqlalchemy/lKDkX68fOqI上询问了这个问题.很抱歉交叉发布

我能想到的唯一方法是使用绑定到它的参数编译上面的select语句.手动构造SQL,然后执行create table

例如:

sql = str(s.compile(dialect=postgresql.dialect(),
                    compile_kwargs={"literal_binds": True}
                    )
          )

create_tbl_sql = "CREATE TABLE {0} AS {2}".format(new_table_name, sql)

connection.execute(create_tbl_sql)
Run Code Online (Sandbox Code Playgroud)

当datetime对象涉及where条件时,文字绑定编译也很痛苦.几乎每当查询中存在无法序列化的内容时.我将不得不解决这个问题.

采用这种方法似乎并不干净.所以,如果他们知道更好的事情,我会问整个社区.

sqlalchemy

2
推荐指数
1
解决办法
3413
查看次数

标签 统计

pyramid ×5

sqlalchemy ×5

python ×3

celery ×2

postgresql ×2

algorithm ×1

bash ×1

c ×1

git ×1

grep ×1

mysql ×1

pypy ×1

shell ×1

zope ×1