小编lol*_*tes的帖子

尝试使用 Celery+RabbitMQ 设置优先级队列时出现“PreconditionFailed - 队列的不等价 arg 'x-max-priority'”错误

我有 RabbitMQ 设置,有两个队列,名为:lowhigh。我希望我的芹菜工作人员在消耗低优先级队列的任务之前先消耗高优先级队列的任务。尝试将消息推送到 RabbitMQ 时出现以下错误

>>> import tasks
>>> tasks.high.apply_async()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vagrant/.local/lib/python3.6/site-packages/celery/app/task.py", line 570, in apply_async
    **options
  File "/home/vagrant/.local/lib/python3.6/site-packages/celery/app/base.py", line 756, in send_task
    amqp.send_task_message(P, name, message, **options)
  File "/home/vagrant/.local/lib/python3.6/site-packages/celery/app/amqp.py", line 552, in send_task_message
    **properties
  File "/home/vagrant/.local/lib/python3.6/site-packages/kombu/messaging.py", line 181, in publish
    exchange_name, declare,
  File "/home/vagrant/.local/lib/python3.6/site-packages/kombu/connection.py", line 510, in _ensured
    return fun(*args, **kwargs)
  File "/home/vagrant/.local/lib/python3.6/site-packages/kombu/messaging.py", line 194, in _publish
    [maybe_declare(entity) for entity in declare]
  File "/home/vagrant/.local/lib/python3.6/site-packages/kombu/messaging.py", line …
Run Code Online (Sandbox Code Playgroud)

priority-queue amqp rabbitmq celery python-3.x

9
推荐指数
1
解决办法
4154
查看次数

如何在数据库中使用 celery result_backend 表

我正在阅读有关使用事务数据库存储任务结果的文档。我有点不确定如何去做。假设我正在使用 postgresql,我按照文档中的指定配置我的 celery 应用程序:

celery_app = Celery('my_app'
         , broker='amqp://localhost//'
         , backend='db+postgresql://user:password@localhost/db_name',
         , include=['my_app.my_task'])
Run Code Online (Sandbox Code Playgroud)

好吧,很酷,但我对如何在 postgresql 数据库中创建后端表感到困惑。DDL 应该是什么样子?架构名称是什么?表名?表内的列+数据类型?我在文档中找不到与这些问题相关的任何内容。请帮忙

python postgresql celery

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

无法通过 python API 登录 Salesforce Sandbox

我正在使用 python3.7.2 模块simple-salesforce==0.74.2,但在尝试建立与我的 salesforce 沙箱的连接时遇到问题。我可以使用相同的凭据登录到 salesforce 生产环境,如下所示:

from simple_salesforce import Salesforce
sf = Salesforce(username='user@domain.com', password='pswd', security_token='mytoken')
Run Code Online (Sandbox Code Playgroud)

好吧,酷。现在我尝试使用以下命令登录我的沙箱:

sf = Salesforce(username='user@domain.com.sandbox_name', password='pswd', security_token='mytoken', sandbox=True)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

simple_salesforce.exceptions.SalesforceAuthenticationFailed:INVALID_LOGIN:用户名、密码、安全令牌无效;或用户被锁定。

所以我尝试使用不同的方法登录:

sf = Salesforce(username='user@domain.com.sandbox_name', password='pswd', security_token='mytoken', domain='sandbox_name')
Run Code Online (Sandbox Code Playgroud)

这给出了一个不同的错误:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='sandbox_name.salesforce.com', port=443): 超过最大重试次数,url: /services/Soap/u/38.0 (由 NewConnectionError(': 无法建立新连接引起) : [Errno 8] 节点名称或服务名称已提供,或未知'))

我正在使用名为 的开发人员沙箱sandbox_name,遵循销售人员的指示。有人可以对我做错的事情提出一些建议吗?

sandbox salesforce python-3.7 simple-salesforce

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

如果字符串操作变得“复杂”,我是否应该继续使用 str.replace 而不是 re.sub

例如,我有几千个类似于以下内容的字符串:

zz='/cars-for-sale/vehicledetails.xhtml?dealerId=54222147&zip=90621&endYear=2015&location=Buena%2BPark%2BCA-90621&startYear=1981&dealerName=CarMax%2BBuena%2BPark&numRecords=100&searchRadius=10&listingId=389520333&Log=0'
Run Code Online (Sandbox Code Playgroud)

我希望截断它

zz='/cars-for-sale/vehicledetails.xhtml?&listingId=389520333&Log=0'
Run Code Online (Sandbox Code Playgroud)

我有两种方法来完成这个

zz.replace(zz[36:zz.strip('&Log=0').rfind('&')],'')
Run Code Online (Sandbox Code Playgroud)

或者

re.sub('dealer.+Radius=10','',zz)
Run Code Online (Sandbox Code Playgroud)

从“良好的工程实践”的角度来看,哪个更可取?可读性 vs. 可维护性 vs. 速度

我正在使用 Python 2.7

python regex string

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

如何在pandas中的多个列中进行groupby计数

我在Python pandas中有以下示例数据框:

+---+------+------+------+
|   | col1 | col2 | col3 |
+---+------+------+------+
| 0 |   a  |   d  |   b  |
+---+------+------+------+
| 1 |   a  |   c  |   b  |
+---+------+------+------+
| 2 |   c  |   b  |   c  |
+---+------+------+------+
| 3 |   b  |   b  |   c  |
+---+------+------+------+
| 4 |   a  |   a  |   d  |
+---+------+------+------+
Run Code Online (Sandbox Code Playgroud)

我想对第1-3列中的所有"a","b","c"和"d"值进行计数,以便最终得到如下数据框:

+---+--------+-------+
|   | letter | count |
+---+--------+-------+
| 0 |    a   |   4   |
+---+--------+-------+
| …
Run Code Online (Sandbox Code Playgroud)

python counter data-analysis dataframe pandas

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

正确的正则表达式匹配模式的完全n个实例

假设我有以下内容:

1.) /some/text/here/with-dashes/010101/
2.) /some/text/here/too/
3.) /some/other/really-long/text/goes/here/019293847/
Run Code Online (Sandbox Code Playgroud)

我想得到包含完全6的字符串/到目前为止这些正则表达式不起作用我的意图如何:

(/\w+[-]?\w+){6}
(/\w+[-]?\w+){6,6}
(/\w+[-]?\w+){,6}?
Run Code Online (Sandbox Code Playgroud)

这些正则表达式也匹配超过6的字符串/我希望它匹配字符串与完全6 /.

python regex

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

BeautifulSoup .select()方法是否支持使用正则表达式?

假设我想使用BeautifulSoup解析HTML,并且想使用CSS选择器来查找特定标签。我会这样做

from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
Run Code Online (Sandbox Code Playgroud)

如果我想找到一个标签,其“ id”属性的值为“ abc”,我可以这样做

soup.select('#abc')
Run Code Online (Sandbox Code Playgroud)

如果我想在当前标签下找到所有“ a”子标签,我们可以

soup.select('#abc a')
Run Code Online (Sandbox Code Playgroud)

但是现在,假设我想找到所有“ href”属性的值都以“ xyz”结尾的“ a”标签,为此,我想使用正则表达式,我希望

soup.select('#abc a[href] = re.compile(r"xyz$")')
Run Code Online (Sandbox Code Playgroud)

我似乎找不到任何内容表明BeautifulSoup的.select()方法将支持正则表达式。

python regex select beautifulsoup

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

为什么 Kotlin 的 mutableListOf() 返回空值

我正在通过 Google 的 Android 开发人员代码实验室为 unscramble 应用程序工作。我正在尝试将我的变量初始化wordsList为一个空的可变字符串列表:

private var wordsList: MutableList<String> = mutableListOf()

但是,在调试过程中,我看到wordsListis的值null而不是像[]. 我在 kotlin playground 中测试了代码,它应该是[]. 我附上了一张 android studio 向我展示的截图。我做错了什么,为什么我没有看到预期的行为? 在此处输入图片说明

这是我的项目的 gradle 文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.4.21"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual …
Run Code Online (Sandbox Code Playgroud)

android kotlin

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