Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python nslookup失败后芹菜节拍进程崩溃_Python_Celery_Celerybeat - Fatal编程技术网

Python nslookup失败后芹菜节拍进程崩溃

Python nslookup失败后芹菜节拍进程崩溃,python,celery,celerybeat,Python,Celery,Celerybeat,我使用芹菜3.1.19来完成预定任务。我是这样开始这个过程的: celery beat --app=my_app.celery.app:app --pidfile=/usr/local/celerybeat.pid --schedule=/usr/local/celerybeat-schedule -l INFO 我遇到过几次芹菜进程在nslookup失败后终止的情况。这会导致将来的计划任务无法运行。最后我注意到并重新开始芹菜的跳动 据我所知,它试图查找的主机名是我的RabbitMQ主机。ns

我使用芹菜3.1.19来完成预定任务。我是这样开始这个过程的:

celery beat --app=my_app.celery.app:app --pidfile=/usr/local/celerybeat.pid --schedule=/usr/local/celerybeat-schedule -l INFO
我遇到过几次芹菜进程在nslookup失败后终止的情况。这会导致将来的计划任务无法运行。最后我注意到并重新开始芹菜的跳动

据我所知,它试图查找的主机名是我的RabbitMQ主机。nslookup失败是暂时的。主机名是正确的,显然名称解析中有一个漏洞。理想情况下,这不会使进程崩溃,而是会重试,直到主机名查找成功

问题:

  • 这是预期的行为吗
  • 是否有一种常见的方法来确保调度器保持运行
  • 人们是否有一个系统来监视进程并在崩溃时重新启动
  • 堆栈跟踪:

     Message Error: Couldn't apply scheduled task ping: Error opening socket: hostname lookup failed
     File "/usr/local/bin/celery", line 11, in <module>
     sys.exit(main())
     File "/usr/local/lib/python2.7/dist-packages/celery/__main__.py", line 30, in main
     main()
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 81, in main
     cmd.execute_from_commandline(argv)
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 770, in execute_from_commandline
     super(CeleryCommand, self).execute_from_commandline(argv)))
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 311, in execute_from_commandline
     return self.handle_argv(self.prog_name, argv[1:])
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 762, in handle_argv
     return self.execute(command, argv)
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/celery.py", line 694, in execute
     ).run_from_argv(self.prog_name, argv[1:], command=argv[0])
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 315, in run_from_argv
     sys.argv if argv is None else argv, command)
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 377, in handle_argv
     return self(*args, **options)
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/base.py", line 274, in __call__
     ret = self.run(*args, **kwargs)
     File "/usr/local/lib/python2.7/dist-packages/celery/bin/beat.py", line 79, in run
     return beat().run()
     File "/usr/local/lib/python2.7/dist-packages/celery/apps/beat.py", line 83, in run
     self.start_scheduler()
     File "/usr/local/lib/python2.7/dist-packages/celery/apps/beat.py", line 112, in start_scheduler
     beat.start()
     File "/usr/local/lib/python2.7/dist-packages/celery/beat.py", line 473, in start
     File "/usr/local/lib/python2.7/dist-packages/celery/beat.py", line 221, in tick
    
    消息错误:无法应用计划任务ping:打开套接字时出错:主机名查找失败
    文件“/usr/local/bin/芹菜”,第11行,在
    sys.exit(main())
    文件“/usr/local/lib/python2.7/dist packages/芹菜/_main__.py”,第30行,在main中
    main()
    文件“/usr/local/lib/python2.7/dist packages/celery/bin/celery.py”,第81行,在main中
    cmd.从命令行(argv)执行命令
    文件“/usr/local/lib/python2.7/dist packages/celery/bin/celery.py”,第770行,从命令行执行
    超级(CeleryCommand,self)。从命令行(argv)执行命令)
    文件“/usr/local/lib/python2.7/dist packages/芹菜/bin/base.py”,第311行,在execute\u from\u命令行中
    返回self.handle_argv(self.prog_名称,argv[1:])
    handle_argv中的文件“/usr/local/lib/python2.7/dist packages/celery/bin/celery.py”,第762行
    返回self.execute(命令,argv)
    文件“/usr/local/lib/python2.7/dist packages/celery/bin/celery.py”,第694行,在execute中
    ).run_from_argv(self.prog_name,argv[1:],command=argv[0])
    文件“/usr/local/lib/python2.7/dist-packages/芹菜/bin/base.py”,第315行,在运行中从
    sys.argv(如果argv不是其他argv,则为命令)
    文件“/usr/local/lib/python2.7/dist packages/芹菜/bin/base.py”,第377行,在handle_argv中
    返回自我(*参数,**选项)
    文件“/usr/local/lib/python2.7/dist packages/芹菜/bin/base.py”,第274行,在调用中__
    ret=self.run(*args,**kwargs)
    文件“/usr/local/lib/python2.7/dist packages/芹菜/bin/beat.py”,第79行,运行中
    返回节拍().run()
    文件“/usr/local/lib/python2.7/dist-packages/芹菜/apps/beat.py”,第83行,运行中
    self.start_调度程序()
    文件“/usr/local/lib/python2.7/dist-packages/芹菜/apps/beat.py”,第112行,在start\u调度程序中
    beat.start()
    文件“/usr/local/lib/python2.7/dist-packages/芹菜/beat.py”,第473行,开头
    文件“/usr/local/lib/python2.7/dist packages/芹菜/beat.py”,第221行,勾号