草庐IT

celery_state

全部标签

python-3.x - 如何更改 Celery 发送到后端的任务的名称?

我已经使用Celery构建了一个队列系统,它接受Web请求并执行一些任务来处理这些请求。我使用Redis作为Celery的后端,但我想这个问题适用于所有后端。Celery返回任务名称为celery-task-meta-并将其存储在后端。这对我来说毫无意义。如何更改celery发送到Redis的结果的名称?我搜索了所有Celery'sdocumentation试图弄清楚如何做到这一点。RedisCLI监视器显示Celery正在使用SETEX方法并发送以下输入:"SETEX""celery-task-meta-dd32ded3-00aa-4884-8b21-42f8332e7fac""86

python - Celery link_error 引发 NotRegistered 异常

我有一个客户端celery应用程序为工作人员(使用Redis)发布任务,它工作正常。客户端和工作应用程序都使用相同的配置:app=Celery('clientApp',broker='redis://redis:6379/0',backend='redis://redis:6379/0')#Listentoqueue2app=Celery('workerApp',broker='redis://redis:6379/0',backend='redis://redis:6379/0')#Listentoqueue1现在我想在成功或错误时执行处理程序,所以我使用了这样的东西:task=Si

python - celery 任务在 Django 框架中不起作用

我尝试使用Django框架中的Celery和RedisBroker作为异步任务向用户发送电子邮件5次。我的Celery服务器正在工作,它正在响应celerycli界面,即使它正在从Django接收任务,但在那之后我收到如下错误:Traceback(mostrecentcalllast):File"c:\users\vipin\appdata\local\programs\python\python3es\billiard\pool.py",line358,inworkloopresult=(True,prepare_result(fun(*args,**kwargs)))File"c:

django - 用 celery 运行管理命令?

我以前从未使用过Celery,正在尝试正确配置它。我使用redis作为代理并托管在heroku上。这是我第一次尝试运行异步任务,我很挣扎。我有一个我想定期运行的管理命令。celery.pyfrom__future__importabsolute_import,unicode_literalsimportosimportceleryfromceleryimportCeleryimportdjangofromdjango.confimportsettingsos.environ.setdefault('DJANGO_SETTINGS_MODULE','coffee.settings')ap

python-3.x - 如何修复 "Celery is receiving tasks but while executing it stuck"

我正在从事AI图像处理工作,我使用Djangorest框架、Python3、tensorflow和keras以及Celery来处理异步任务。我也在使用redis服务器。但是当我执行celery任务时,它正在接收任务但卡在中间。它一直在发生。我正在尝试为amazonec2g3s.xlarge实例提供它,尽管它在我的本地机器上运行良好。我正在尝试将它部署到具有深度学习AMI(linux)版本的amazonec2g3s.xlarge实例中。@task(name="predict")defwork_out(cow_front_image,cow_back_image):returndetect

python - 使用 Redis 时,Celery 中可靠的任务处理需要什么?

我们希望在kubenetes集群中运行Celery/Redis,目前没有启用Redis持久性(一切都在内存中)。我担心:Redis重启(丢失内存中的数据)、worker重启/中断(由于崩溃和/或pod调度)以及transient网络问题。使用Celery使用Redis做任务处理时,需要怎样保证任务的可靠性? 最佳答案 在redis方面,只需确保您使用的是备份功能:https://redis.io/topics/persistenceHowtorecoverredisdatafromsnapshot(rdbfile)copiedfro

Django celery - 检查任务是否完成,如果完成则重启任务(如果没有完成,不要重启任务)

我目前正在尝试每分钟对计划的celery任务进行一次定期检查。如果任务还在运行,就让它继续运行,不要打断它,但是如果任务已经不在运行了,就激活任务,开始运行。但目前,我无法让脚本仅在不再运行时运行。我尝试了两种方法,但我的脚本没有检测到现有的正在运行的脚本,它开始运行,即使它不应该运行,我的任务也开始同时运行。我正在使用celery4.2.0和django1.11.6。关于如何解决这个问题的任何提示?谢谢在views.py中要运行的任务@task(name='send-one-task')defsend_one_task():foriinrange(1,100):time.sleep(

docker - 为什么我的 Celery Docker 无法连接到 Redis?

我有一个运行celery的Docker实例,它是这样构建的:dockerbuild-t/celery-imagemagick-fdocker/celeryDockerFile.然后我像这样运行它:dockerrun--env-file./docker/env--rmspaceofmotion/celery-imagemagick.env文件中有一些配置,包括针对本地redis-server的代理url.CELERY_BROKER_URL=redis://192.168.86.23:6379/0CELERY_RESULT_BACKEND=redis://192.168.86.23:637

redis - celery + 2个redis : broker and cache

我有:1)标准端口上的redis-这是缓存2)端口53333上的redis-这是一个代理为什么celery获取任务成功,却没有返回到53333端口?我可以通过标准端口上的redis-cli看到这个任务。你能帮我更正“celeryconfig.py”吗? 最佳答案 很抱歉给您带来麻烦...按照插入到“celeryconfig.py”的字符串:CELERY_RESULT_BACKEND="redis"CELERY_REDIS_HOST="localhost"CELERY_REDIS_PORT=56379...以及所有工作。

redis - 使用 Celery + Redis 时出现巨大延迟

我正在测试Django+Celery,HelloWorld示例。使用RabbitMQcelery工作正常,但是当我切换到Redis代理/结果时,我得到以下信息:%timeitadd.delay(1,2).get()1loops,bestof3:503msperloopsettings.pyCELERY_RESULT_BACKEND="redis"BROKER_URL='redis://localhost:6379'tasks.py@task()defadd(x,y):returnx+y上面的测试有没有问题? 最佳答案 我发现解决方案