Updates
This commit is contained in:
72
ETB-API/venv/lib/python3.12/site-packages/celery/bin/beat.py
Normal file
72
ETB-API/venv/lib/python3.12/site-packages/celery/bin/beat.py
Normal file
@@ -0,0 +1,72 @@
|
||||
"""The :program:`celery beat` command."""
|
||||
from functools import partial
|
||||
|
||||
import click
|
||||
|
||||
from celery.bin.base import LOG_LEVEL, CeleryDaemonCommand, CeleryOption, handle_preload_options
|
||||
from celery.platforms import detached, maybe_drop_privileges
|
||||
|
||||
|
||||
@click.command(cls=CeleryDaemonCommand, context_settings={
|
||||
'allow_extra_args': True
|
||||
})
|
||||
@click.option('--detach',
|
||||
cls=CeleryOption,
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help_group="Beat Options",
|
||||
help="Detach and run in the background as a daemon.")
|
||||
@click.option('-s',
|
||||
'--schedule',
|
||||
cls=CeleryOption,
|
||||
callback=lambda ctx, _, value: value or ctx.obj.app.conf.beat_schedule_filename,
|
||||
help_group="Beat Options",
|
||||
help="Path to the schedule database."
|
||||
" Defaults to `celerybeat-schedule`."
|
||||
"The extension '.db' may be appended to the filename.")
|
||||
@click.option('-S',
|
||||
'--scheduler',
|
||||
cls=CeleryOption,
|
||||
callback=lambda ctx, _, value: value or ctx.obj.app.conf.beat_scheduler,
|
||||
help_group="Beat Options",
|
||||
help="Scheduler class to use.")
|
||||
@click.option('--max-interval',
|
||||
cls=CeleryOption,
|
||||
type=int,
|
||||
help_group="Beat Options",
|
||||
help="Max seconds to sleep between schedule iterations.")
|
||||
@click.option('-l',
|
||||
'--loglevel',
|
||||
default='WARNING',
|
||||
cls=CeleryOption,
|
||||
type=LOG_LEVEL,
|
||||
help_group="Beat Options",
|
||||
help="Logging level.")
|
||||
@click.pass_context
|
||||
@handle_preload_options
|
||||
def beat(ctx, detach=False, logfile=None, pidfile=None, uid=None,
|
||||
gid=None, umask=None, workdir=None, **kwargs):
|
||||
"""Start the beat periodic task scheduler."""
|
||||
app = ctx.obj.app
|
||||
|
||||
if ctx.args:
|
||||
try:
|
||||
app.config_from_cmdline(ctx.args)
|
||||
except (KeyError, ValueError) as e:
|
||||
# TODO: Improve the error messages
|
||||
raise click.UsageError("Unable to parse extra configuration"
|
||||
" from command line.\n"
|
||||
f"Reason: {e}", ctx=ctx)
|
||||
|
||||
if not detach:
|
||||
maybe_drop_privileges(uid=uid, gid=gid)
|
||||
|
||||
beat = partial(app.Beat,
|
||||
logfile=logfile, pidfile=pidfile,
|
||||
quiet=ctx.obj.quiet, **kwargs)
|
||||
|
||||
if detach:
|
||||
with detached(logfile, pidfile, uid, gid, umask, workdir):
|
||||
return beat().run()
|
||||
else:
|
||||
return beat().run()
|
||||
Reference in New Issue
Block a user