草庐IT

python - celery 周期性任务不是周期性的

我试图创建一个应该在celery和redis服务器中每分钟运行的任务为了执行redis,我运行了"redis-server"为了执行celery,我运行了"celery-Atasksworker--loglevel=info"这是我的tasks.py文件fromceleryimportCeleryfromcelery.schedulesimportcrontabfromcelery.taskimportperiodic_taskapp=Celery('tasks',backend='redis://localhost',broker='redis://localhost')@app.t

python - 给定一个 Redis Broker 和一个数据库后端,Celery Task 请求首先写入哪里?

有没有办法询问redis、celery或postgres,以便在任务完成之前跟踪任务请求?配置:BROKER_URL="redis://localhost:6379"CELERY_RESULT_BACKEND="django-db"fromceleryimportCeleryfromdjango.confimportsettingsapp=Celery("someapp",)现在,过了一会儿,表django_celery_results_taskresult有了任务,包括它的id、task_id、task_name和结果,等等。id|task_name|status|date_done

python - 在本地使用 django celery beat 我得到错误 'PeriodicTask' object has no attribute '_default_manager'

在本地使用djangocelerybeat我收到错误“PeriodicTask”对象没有属性“_default_manager”。我正在使用Django1.10。当我安排一项任务时,它会起作用。但是片刻之后,出现了如下所示的红色错误回溯[2016-09-2311:08:34,962:INFO/Beat]Writingentries...[2016-09-2311:08:34,965:INFO/Beat]Writingentries...[2016-09-2311:08:34,965:INFO/Beat]Writingentries...[2016-09-2311:08:34,966:E

python - Redis - Amazon EC2 上的 Celery 配置

我正在使用Python、Django和MySql开发Web应用程序。我在应用程序中有一项规定,用户可以上传*.wmv和*.mov文件,系统将处理这些文件并将其转换为*.mp4。我使用的是单一服务器架构,但随着用户群的增长,视频转换消耗了90%的内存。我正在考虑使用AmazonEC2将视频转换/流媒体服务器移动到云端,以便使用Redis和Celery在不同的服务器上进行转换。我想知道Redis-Celery是否支持多层架构。如果有人成功地做到了这一点,请告诉我步骤。这将非常有用,因为我正在谷歌搜索但找不到任何支持文档。 最佳答案 如果

redis - Celery 多实例和 Redis

我有两台运行Celery的服务器和一个Redis数据库。他们都收听相同的队列,因为它们是为了划分“工作负载”。任务在Redis上排队,但看起来我的两台Celery服务器同时接收了任务,因此执行了两次(每台服务器一次)。有没有办法通过Redis/Celery设置来防止这种情况发生?谢谢, 最佳答案 我的每台服务器都对celeryworker使用相同的名称。从那时起,我在工作人员名称(-nmy_worker_%h)的末尾添加了%h以显示主机名。这样CeleryFlower就可以显示所有的worker在他们自己的行中,并且不会出现混淆。

ubuntu - supervisord 和 celery 热关机

每当我在运行Supervisor和Celery的ubuntu实例上运行“sudoshutdown-hnow”时,Celery似乎只是在处理任务的过程中关闭,当查看tail-f时我没有看到“当Celery在前台运行时键入ctrl-C时,您通常会看到warmshutdown"消息。这对我来说是个大问题,因为服务器可能随时终止,因此等待Celery完成其任务的处理至关重要。这可能需要几秒钟、10分钟或10小时,但关闭信号应该始终让Celery完成其工作。我在我的celeryd配置文件中添加了stopasgroup和killasgroup,它似乎确实从主管停止Celery停止了所有子进程,但不

python - celery 时间表不起作用并使用 Django 得到 KeyError

环境:django1.6.5python2.7celery3.1.11我的目标服务器运行这个项目没有安装djcelery。所以,我不想使用djcelery。我正在关注DOCSFirststepswithDjango和UsingCeleryinyourApplication.当我运行celery-Adjproj-B-ldebug时,我得到了KeyError。[tasks]中实际上没有目标任务。任何人都知道如何解决它?谢谢。错误[tasks].celery.backend_cleanup.celery.chain.celery.chord.celery.chord_unlock.celer

django - 如何在aws elasticbean上安装redis和celery

我正尝试在awselasticbean上为我的django应用程序安装redis和celery。以下是.ebextensions/文件夹中的配置文件option_settings:"aws:elasticbeanstalk:application:environment":DJANGO_SETTINGS_MODULE:"lawCalender.settings"PYTHONPATH:"/opt/python/current/app/lawCalender:$PYTHONPATH""aws:elasticbeanstalk:container:python":WSGIPath:"lawC

Django celery 任务重复 : can't lock DB?

我的django应用程序允许用户相互发送消息,我将一些最近的消息汇集在一起​​,并使用celery和redis将它们发送到电子邮件中。每次用户发送消息时,我都会向数据库添加一条消息,然后触发一个异步任务来汇集该用户过去60秒的消息,并将它们作为电子邮件发送。tasks.pushMessagePool.apply_async(args=(fromUser,),countdown=60)如果用户在接下来的60秒内发送了5条消息,那么我的假设是应该创建5个任务,但只有第一个任务发送电子邮件,其他4个任务什么都不做。我实现了一个简单的锁定机制来确保消息只被考虑一次并确保数据库锁定。@share

python - Django + Celery + Supervisord + Redis 设置时报错

我正在CentOS服务器上完成以下组件的设置。我得到supervisord任务来启动和运行网站,但我无法为celery设置主管。它似乎可以识别任务,但是当我尝试执行任务时,它不会连接到它们。我的redis在6380端口启动并运行Django==1.10.3amqp==1.4.9billiard==3.3.0.23celery==3.1.25kombu==3.0.37pytz==2016.10我的celeryd.ini[program:celeryd]command=/root/myproject/myprojectenv/bin/celeryworker-Amb--loglevel=I