Browse Source

celerybeat: Respect --pidfile even if not --detach. Closes #363

Ask Solem 14 năm trước cách đây
mục cha
commit
c8efe314bd
1 tập tin đã thay đổi với 6 bổ sung2 xóa
  1. 6 2
      celery/bin/celerybeat.py

+ 6 - 2
celery/bin/celerybeat.py

@@ -24,6 +24,7 @@
 """
 """
 from celery.bin.base import Command, Option, daemon_options
 from celery.bin.base import Command, Option, daemon_options
 from celery.platforms import create_daemon_context
 from celery.platforms import create_daemon_context
+from celery.utils.functional import partial
 
 
 
 
 class BeatCommand(Command):
 class BeatCommand(Command):
@@ -33,8 +34,11 @@ class BeatCommand(Command):
             gid=None, umask=None, working_directory=None, **kwargs):
             gid=None, umask=None, working_directory=None, **kwargs):
         kwargs.pop("app", None)
         kwargs.pop("app", None)
 
 
+        beat = partial(self.app.Beat, logfile=logfile, pidfile=pidfile,
+                       **kwargs)
+
         if not detach:
         if not detach:
-            return self.app.Beat(logfile=logfile, **kwargs).run()
+            return beat().run()
 
 
         context, on_stop = create_daemon_context(
         context, on_stop = create_daemon_context(
                                 logfile=logfile,
                                 logfile=logfile,
@@ -45,7 +49,7 @@ class BeatCommand(Command):
                                 working_directory=working_directory)
                                 working_directory=working_directory)
         context.open()
         context.open()
         try:
         try:
-            self.app.Beat(pidfile=pidfile, logfile=logfile, **kwargs).run()
+            beat().run()
         finally:
         finally:
             on_stop()
             on_stop()