小编Kee*_*gan的帖子

芹菜"收到未注册的任务"

我是芹菜的新手,并试图在我的应用程序中使用它.以下是我的基本应用程序结构

 my_app
 |-run.py
 |-app
    |-mod1
    |-mod2
    |-tasks
       |-__init__.py
       |-email
       |-other_tasks_file
Run Code Online (Sandbox Code Playgroud)

我想将所有后台任务限制在我的任务模块中.在我的任务的init .py中

from celery import Celery

celery = Celery('my_app', broker='redis://localhost:6379/0')
Run Code Online (Sandbox Code Playgroud)

在我的任务/电子邮件中我有

from app.tasks import celery

@celery.task
def send_email():
    #do stuff
Run Code Online (Sandbox Code Playgroud)

从终端我开始使用工人

 celery -A app.tasks worker --loglevel=DEBUG
Run Code Online (Sandbox Code Playgroud)

但我的任务没有出现在芹菜的任务列表中.此外,一旦我从解释器运行我的任务就像这样

>>from app.tasks import email
>>email_result = email.send_email.delay()
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我在芹菜终端得到以下回复

Received unregistered task of type 'app.tasks.emails.send_email'.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you are using relative imports?
Please see url for …
Run Code Online (Sandbox Code Playgroud)

python celery

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

Cloudfront 同一存储桶中的多个源

我有一个 Cloudfront 发行版,我使用一个 S3 存储桶作为源。存储桶中包含私有和公共数据,按文件夹分隔 - public_folder_1, public_folder_2, private_folder_1, private_folder_2。我想使用 cloudfront 仅提供 2 个公共文件夹中的内容。我想要xxx.cloudfront.net/public_folder_1/file1去的public_folder_1请求xxx.cloudfront.net/public_folder_2/file1和去的请求public_folder_2

我在发行版中创建了 2 个源,其中包含源名称 + 路径 -mybucket/public_folder_1以及mybucket/public_folder_22 个文件夹。我还创建了两个带有路径模式的行为 -public_folder_1/*并且public_folder_2/*(我已经尝试/在路径模式中添加一个引导,它似乎没有什么区别)。但是我无法通过 cloudfront 访问文件。

如果我将任一行为的路径模式更改为*而不是,public_folder_x/*那么我可以使用xxx.cloudfront.net/filex. 我对此的担忧是,如果我在两个文件夹中有 2 个同名文件,cloudfront 怎么知道要使用哪个文件夹作为源?我不想为每个原始路径创建和管理单独的发行版。

cdn amazon-web-services amazon-cloudfront

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

如何在python中读取selenium webdriver下载的文件

我在 python 中使用 selenium 和 webdriver 从网站下载 csv 文件。文件被下载到指定的下载目录中。这是我的代码的概述

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir",'xx/yy')
fp.set_preference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, text/comma-separated-values, application/octet-stream")
driver = webdriver.Firefox(fp)
driver.get('url')
Run Code Online (Sandbox Code Playgroud)

我需要print将此 csv 的内容发送到终端。许多具有随机名称的类似文件将被下载到同一个文件夹中,因此通过文件名访问该文件将不起作用,因为我事先不知道它是什么

python selenium webdriver web-scraping selenium-webdriver

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