我在启动 celery 任务时遇到问题。当您在本地运行以下命令时 celery -A codebase worker --loglevel=debug --beat 我得到以下响应
/local/lib/python2.7/site-packages/twisted/internet/endpoints.py:30: DeprecationWarning: twisted.internet.interfaces.IStreamClientEndpointStringParser was deprecated in Twisted 14.0.0: This interface has been superseded by IStreamClientEndpointStringParserWithReactor.
from twisted.internet.interfaces import (
DEBUG 2014-09-05 14:58:02,450 base 25908 139809439647552 Configuring Raven for host: http://69a23c7e80df4276822e771e1dec86e4:26eedecf43e34073b987b81151fd1ff9@localhost:9000:/10
[2014-09-05 14:58:02,723: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2014-09-05 14:58:02,726: DEBUG/MainProcess] | Worker: Building graph...
[2014-09-05 14:58:02,727: DEBUG/MainProcess] | Worker: New boot order: {Beat, Timer, Hub, Queues (intra), Pool, Autoreloader, StateDB, Autoscaler, Consumer}
[2014-09-05 14:58:02,739: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2014-09-05 14:58:02,740: DEBUG/MainProcess] | Consumer: Building graph...
[2014-09-05 14:58:02,757: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Agent, Events, Mingle, Gossip, Heart, Tasks, Control, event loop}
-------------- celery@krassi-Satellite-L505 v3.1.13 (Cipater)
---- **** -----
--- * *** * -- Linux-3.13.0-35-generic-x86_64-with-Ubuntu-14.04-trusty
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: codebase:0x7f27e88a4f90
- ** ---------- .> transport: django://localhost//
- ** ---------- .> results: djcelery.backends.database:DatabaseBackend
- *** --- * --- .> concurrency: 2 (prefork)
-- ******* ----
--- ***** ----- [queues]
-------------- .> celery exchange=celery(direct) key=celery
[tasks]
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap
. geoloc.tasks.get_real_geolocation
. sofiatraffic_crawler.tasks.crawl_sofitraffic
. sofiatraffic_data.tasks.delete_stop
. sofiatraffic_data.tasks.delete_transport
[2014-09-05 14:58:02,767: DEBUG/MainProcess] | Worker: Starting Beat
[2014-09-05 14:58:02,771: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,772: DEBUG/MainProcess] | Worker: Starting Pool
[2014-09-05 14:58:02,777: INFO/Beat] beat: Starting...
[2014-09-05 14:58:02,780: DEBUG/Beat] DatabaseScheduler: intial read
[2014-09-05 14:58:02,781: INFO/Beat] Writing entries...
[2014-09-05 14:58:02,805: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,806: DEBUG/MainProcess] | Worker: Starting Consumer
[2014-09-05 14:58:02,806: DEBUG/MainProcess] | Consumer: Starting Connection
[2014-09-05 14:58:02,818: INFO/MainProcess] Connected to django://localhost//
[2014-09-05 14:58:02,819: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,819: DEBUG/MainProcess] | Consumer: Starting Events
[2014-09-05 14:58:02,829: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,829: DEBUG/Beat] DatabaseScheduler: Fetching database schedule
[2014-09-05 14:58:02,832: DEBUG/MainProcess] | Consumer: Starting Heart
[2014-09-05 14:58:02,832: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,833: DEBUG/MainProcess] | Consumer: Starting Tasks
[2014-09-05 14:58:02,865: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,866: DEBUG/MainProcess] | Consumer: Starting Control
[2014-09-05 14:58:02,871: DEBUG/Beat] Current schedule:
<ModelEntry: scrap-sofitraffic-every-day sofiatraffic_crawler.tasks.crawl_sofitraffic(*[], **{}) {4}>
<ModelEntry: delete-stop-every-day sofiatraffic_data.tasks.delete_stop(*[], **{}) {4}>
<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {4}>
<ModelEntry: delete-transport-every-day sofiatraffic_data.tasks.delete_transport(*[], **{}) {4}>
<ModelEntry: get-real-location-every-day geoloc.tasks.get_real_geolocation(*[], **{}) {4}>
[2014-09-05 14:58:02,873: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 14:58:02,873: DEBUG/MainProcess] | Consumer: Starting event loop
[2014-09-05 14:58:02,874: WARNING/MainProcess] celery@krassi-Satellite-L505 ready.
[2014-09-05 14:58:03,540: INFO/Beat] DatabaseScheduler: Schedule changed.
[2014-09-05 14:58:03,541: INFO/Beat] Writing entries...
[2014-09-05 14:58:03,541: DEBUG/Beat] DatabaseScheduler: Fetching database schedule
[2014-09-05 14:58:03,557: DEBUG/Beat] Current schedule:
<ModelEntry: scrap-sofitraffic-every-day sofiatraffic_crawler.tasks.crawl_sofitraffic(*[], **{}) {4}>
<ModelEntry: delete-stop-every-day sofiatraffic_data.tasks.delete_stop(*[], **{}) {4}>
<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {4}>
<ModelEntry: delete-transport-every-day sofiatraffic_data.tasks.delete_transport(*[], **{}) {4}>
<ModelEntry: get-real-location-every-day geoloc.tasks.get_real_geolocation(*[], **{}) {4}>
[2014-09-05 14:58:03,558: DEBUG/Beat] beat: Ticking with max interval->5.00 seconds
[2014-09-05 14:58:03,573: DEBUG/Beat] beat: Waking up in 4.99 seconds.
一切OK,进程继续走。 然后传输到服务器,使用相同的命令运行它,我得到以下响应:
/local/lib/python2.7/site-packages/twisted/internet/endpoints.py:30: DeprecationWarning: twisted.internet.interfaces.IStreamClientEndpointStringParser was deprecated in Twisted 14.0.0: This interface has been superseded by IStreamClientEndpointStringParserWithReactor.
from twisted.internet.interfaces import (
DEBUG 2014-09-05 15:03:14,511 base 7100 140161706530560 Configuring Raven for host: http://69a23c7e80df4276822e771e1dec86e4:26eedecf43e34073b987b81151fd1ff9@localhost:9000:/10
[2014-09-05 15:03:14,694: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2014-09-05 15:03:14,696: DEBUG/MainProcess] | Worker: Building graph...
[2014-09-05 15:03:14,696: DEBUG/MainProcess] | Worker: New boot order: {Beat, Timer, Hub, Queues (intra), Pool, Autoreloader, Autoscaler, StateDB, Consumer}
[2014-09-05 15:03:14,723: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2014-09-05 15:03:14,723: DEBUG/MainProcess] | Consumer: Building graph...
[2014-09-05 15:03:14,731: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Events, Mingle, Tasks, Control, Gossip, Agent, Heart, event loop}
-------------- celery@dexter.mtrdev.com v3.1.13 (Cipater)
---- **** -----
--- * *** * -- Linux-3.2.0-34-generic-x86_64-with-Ubuntu-12.04-precise
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: codebase:0x138e5d0
- ** ---------- .> transport: django://localhost//
- ** ---------- .> results: djcelery.backends.database:DatabaseBackend
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
-------------- .> celery exchange=celery(direct) key=celery
[tasks]
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap
[2014-09-05 15:03:14,735: DEBUG/MainProcess] | Worker: Starting Beat
[2014-09-05 15:03:14,737: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 15:03:14,737: DEBUG/MainProcess] | Worker: Starting Pool
[2014-09-05 15:03:14,739: INFO/Beat] beat: Starting...
[2014-09-05 15:03:14,751: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 15:03:14,751: DEBUG/MainProcess] | Worker: Starting Consumer
[2014-09-05 15:03:14,751: DEBUG/MainProcess] | Consumer: Starting Connection
[2014-09-05 15:03:14,756: INFO/MainProcess] Connected to django://localhost//
[2014-09-05 15:03:14,756: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 15:03:14,756: DEBUG/MainProcess] | Consumer: Starting Events
[2014-09-05 15:03:14,758: DEBUG/Beat] DatabaseScheduler: intial read
[2014-09-05 15:03:14,758: INFO/Beat] Writing entries...
[2014-09-05 15:03:14,760: DEBUG/MainProcess] ^-- substep ok
[2014-09-05 15:03:14,760: DEBUG/MainProcess] | Consumer: Starting Tasks
[2014-09-05 15:03:14,763: DEBUG/Beat] DatabaseScheduler: Fetching database schedule
[2014-09-05 15:03:14,766: DEBUG/Beat] Current schedule:
[2014-09-05 15:03:14,772: DEBUG/MainProcess] | Worker: Closing Beat...
[2014-09-05 15:03:14,772: DEBUG/MainProcess] | Worker: Closing Pool...
[2014-09-05 15:03:15,046: DEBUG/Beat] beat: Ticking with max interval->5.00 seconds
[2014-09-05 15:03:15,052: DEBUG/Beat] beat: Waking up in 4.99 seconds.
[2014-09-05 15:03:15,549: DEBUG/MainProcess] | Worker: Closing Consumer...
[2014-09-05 15:03:15,549: DEBUG/MainProcess] | Worker: Stopping Consumer...
[2014-09-05 15:03:15,550: DEBUG/MainProcess] | Worker: Stopping Pool...
[2014-09-05 15:03:15,778: DEBUG/MainProcess] | Worker: Stopping Beat...
[2014-09-05 15:03:15,779: INFO/MainProcess] beat: Shutting down...
[2014-09-05 15:03:15,779: DEBUG/MainProcess] | Consumer: Shutdown Heart...
[2014-09-05 15:03:15,779: INFO/Beat] Writing entries...
[2014-09-05 15:03:15,779: DEBUG/MainProcess] | Consumer: Shutdown Control...
[2014-09-05 15:03:15,779: DEBUG/MainProcess] | Consumer: Shutdown Tasks...
[2014-09-05 15:03:15,780: INFO/Beat] Writing entries...
[2014-09-05 15:03:15,780: DEBUG/MainProcess] | Consumer: Shutdown Events...
[2014-09-05 15:03:15,780: DEBUG/MainProcess] | Consumer: Shutdown Connection...
并且一旦你开始工作,worker 就会立即停止,没有任何错误。知道可能是什么问题吗?
最佳答案
原来问题出在Kombu 3.0.22。这个版本有问题。
关于python - Worker 启动,然后关闭。没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25688912/
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我有这样的哈希trial_hash={"key1"=>1000,"key2"=>34,"key3"=>500,"key4"=>500,"key5"=>500,"key6"=>500}我按值降序排列:my_hash=trial_hash.sort_by{|k,v|v}.reverse我现在是这样理解的:[["key1",1000],["key4",500],["key5",500],["key6",500],["key3",500],["key2",34]]但我希望当值相同时按键的升序排序。我该怎么做?例如:上面的散列将以这种方式排序:[["key1",1000],["key3",500
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file