我在托管在debian9机器上的Web应用程序中使用flask、redis和rq-worker。当我启动rq-worker时,我收到此错误:“错误111连接到本地主机:6379。连接被拒绝”。我已经检查过Redis是否已安装并正在运行,我尝试了这些命令:/opt/apps/mywebapp/flask$psaux|grepredissib49870.00.012784976pts/2S+09:370:00grepredisredis65740.10.0408603512?Sslmay283:38/usr/bin/redis-server127.0.0.1:6379/opt/apps/m
我正在从事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
我们希望在kubenetes集群中运行Celery/Redis,目前没有启用Redis持久性(一切都在内存中)。我担心:Redis重启(丢失内存中的数据)、worker重启/中断(由于崩溃和/或pod调度)以及transient网络问题。使用Celery使用Redis做任务处理时,需要怎样保证任务的可靠性? 最佳答案 在redis方面,只需确保您使用的是备份功能:https://redis.io/topics/persistenceHowtorecoverredisdatafromsnapshot(rdbfile)copiedfro
我目前正在尝试每分钟对计划的celery任务进行一次定期检查。如果任务还在运行,就让它继续运行,不要打断它,但是如果任务已经不在运行了,就激活任务,开始运行。但目前,我无法让脚本仅在不再运行时运行。我尝试了两种方法,但我的脚本没有检测到现有的正在运行的脚本,它开始运行,即使它不应该运行,我的任务也开始同时运行。我正在使用celery4.2.0和django1.11.6。关于如何解决这个问题的任何提示?谢谢在views.py中要运行的任务@task(name='send-one-task')defsend_one_task():foriinrange(1,100):time.sleep(
我有一个运行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
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我对rqworkers的工作方式感到困惑!我创建了一个flaskweb应用程序,它在redis服务器上运行后台进程,然后返回结果。到目前为止,在开发过程中,我一直在使用命令行在我的机器上启动rq工作进程。但是,现在我已准备好在线启动我的应用程序。但是,当远程用户尝试在线运行应用程序时,工作人员托管在哪里?我尝试使用withConnection():在我的代码中直接启动它们,它起作用了,但它也中断了启动We
我有: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...以及所有工作。
我正在尝试创建一个resqueworker,它将一些网络抓取作为后台工作。工作人员收到网站主页的URL,进行一些网络抓取,然后将结果存储在Redis中,并在其中保留五分钟。下面的代码看起来是否应该完成我上面描述的内容?classTrialScraper@queue=:trial_scraper_queuedefself.perform(homepage)hashed_site_data={:homepage=>{:url=>homepage,:title=>download_title(homepage),:meta_tags=>download_robots_tags(homepag
我正在测试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上面的测试有没有问题? 最佳答案 我发现解决方案
我有以下设置:celery-with-redis-3.0-activecelery-3.0.12-activedjango-celery-3.0.11-activedjango-kombu-0.9.4-activekombu-2.5.8-activeredis-2.4.10我的celery设置如下:BROKER_URL="redis://:password@localhost:6379/0"REDIS_DB=0REDIS_CONNECT_RETRY=TrueCELERY_SEND_EVENTS=TrueCELERY_RESULT_BACKEND="redis://:password@l