mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-08 14:43:27 -04:00
dev-python/celery: treeclean
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
DIST celery-5.4.0.gh.tar.gz 1589006 BLAKE2B ca63fbd18552f6c345aac8cf8860b868263fcdf7c3836a99d31166fc3feb0087af1a403ff1f4e8f866277fbf7feafa1173691acb4549154d32c55759eae75bad SHA512 e39ea88afb529aba14f621a9809c5e18ff1596754162069410249186b3f1512683fe67bb425994514b39fdea562b55ace89a16d57d614259269adf48427144ef
|
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
# Copyright 1999-2025 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{12..13} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 check-reqs distutils-r1 optfeature
|
|
||||||
|
|
||||||
MY_PV="${PV/_beta/b}"
|
|
||||||
DESCRIPTION="Asynchronous task queue/job queue based on distributed message passing"
|
|
||||||
HOMEPAGE="
|
|
||||||
https://pypi.org/project/celery/
|
|
||||||
https://github.com/celery/celery
|
|
||||||
"
|
|
||||||
SRC_URI="https://github.com/celery/celery/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
|
|
||||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
|
||||||
|
|
||||||
LICENSE="BSD"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
IUSE="examples"
|
|
||||||
# Tests require a lot of dependencies that are not packaged for Gentoo
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-python/billiard-3.6.4.0[${PYTHON_USEDEP}]
|
|
||||||
<dev-python/billiard-5.0.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/click[${PYTHON_USEDEP}]
|
|
||||||
dev-python/click-didyoumean[${PYTHON_USEDEP}]
|
|
||||||
dev-python/click-plugins[${PYTHON_USEDEP}]
|
|
||||||
dev-python/click-repl[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/kombu-5.3.0_beta1[${PYTHON_USEDEP}]
|
|
||||||
<dev-python/kombu-6.0.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytz[${PYTHON_USEDEP}]
|
|
||||||
dev-python/vine[${PYTHON_USEDEP}]
|
|
||||||
|
|
||||||
doc? (
|
|
||||||
dev-python/docutils[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/sphinx-celery-2.0.0[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/sphinx-click-2.5.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/jinja2[${PYTHON_USEDEP}]
|
|
||||||
dev-python/sqlalchemy[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
CHECKREQS_MEMORY="2G"
|
|
||||||
|
|
||||||
distutils_enable_tests pytest
|
|
||||||
distutils_enable_sphinx docs --no-autodoc
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use test && check-reqs_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_pretend() {
|
|
||||||
use test && check-reqs_pkg_pretend
|
|
||||||
}
|
|
||||||
|
|
||||||
python_install_all() {
|
|
||||||
# Main celeryd init.d and conf.d
|
|
||||||
newinitd "${FILESDIR}/celery.initd-r2" celery
|
|
||||||
newconfd "${FILESDIR}/celery.confd-r2" celery
|
|
||||||
|
|
||||||
if use examples; then
|
|
||||||
docinto examples
|
|
||||||
dodoc -r examples/.
|
|
||||||
docompress -x /usr/share/doc/${PF}/examples
|
|
||||||
fi
|
|
||||||
|
|
||||||
newbashcomp extra/bash-completion/celery.bash "${PN}"
|
|
||||||
|
|
||||||
distutils-r1_python_install_all
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
optfeature "msgpack support" dev-python/msgpack
|
|
||||||
optfeature "redis support" dev-python/redis-py
|
|
||||||
optfeature "auth support" dev-python/pyopenssl
|
|
||||||
optfeature "yaml support" dev-python/pyyaml
|
|
||||||
optfeature "memcache support" dev-python/pylibmc
|
|
||||||
optfeature "mongodb support" dev-python/pymongo
|
|
||||||
optfeature "sqlalchemy support" dev-python/sqlalchemy
|
|
||||||
optfeature "sqs support" dev-python/boto
|
|
||||||
}
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# /etc/conf.d/celery
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# GLOBAL CONFIGURATION
|
|
||||||
|
|
||||||
# User and group
|
|
||||||
#CELERY_USER="celery"
|
|
||||||
#CELERY_GROUP="celery"
|
|
||||||
|
|
||||||
# This is generaly a good idea to set the environment correctly
|
|
||||||
# because a lot of python package try to use HOME on init
|
|
||||||
#export HOME="/var/lib/myproject"
|
|
||||||
|
|
||||||
# Full path to the python project directory.
|
|
||||||
#CELERY_PROJDIR="/var/lib/myproject"
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# CELERYD
|
|
||||||
|
|
||||||
# Start the Celery worker daemon
|
|
||||||
#CELERYD_ENABLED="yes"
|
|
||||||
|
|
||||||
# celeryd notes
|
|
||||||
#CELERYD_NODES="celery"
|
|
||||||
|
|
||||||
# celeryd options
|
|
||||||
# Example: set a 5 minute hard time limit for tasks, disable queue process prefetching and specify an app module from CELERY_PROJDIR
|
|
||||||
#CELERYD_OPTS="--time-limit=300 -Ofair -A celeryapp"
|
|
||||||
|
|
||||||
# Location and level of the celeryd log file
|
|
||||||
#CELERYD_LOG_FILE=/var/log/celery/celeryd@%n.log
|
|
||||||
#CELERYD_LOG_LEVEL="INFO"
|
|
||||||
|
|
||||||
# Location of the celeryd pid file
|
|
||||||
#CELERYD_PID_FILE=/run/celery/celeryd@%n.pid
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# CELERYBEAT
|
|
||||||
|
|
||||||
# Start the Celery task scheduler daemon
|
|
||||||
#CELERYBEAT_ENABLED="yes"
|
|
||||||
|
|
||||||
# celerybeat options
|
|
||||||
#CELERYBEAT_OPTS=""
|
|
||||||
|
|
||||||
# Location and level of the celerybeat log file
|
|
||||||
#CELERYBEAT_LOG_FILE=/var/log/celery/celerybeat.log
|
|
||||||
#CELERYBEAT_LOG_LEVEL="INFO"
|
|
||||||
|
|
||||||
# Location of the celerybeat pid file
|
|
||||||
#CELERYBEAT_PID_FILE=/run/celery/celerybeat.pid
|
|
||||||
@@ -1,204 +0,0 @@
|
|||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the BSD license
|
|
||||||
|
|
||||||
extra_started_commands="reload"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need net
|
|
||||||
use rabbitmq redis logger dns
|
|
||||||
}
|
|
||||||
|
|
||||||
: ${CELERYD_ENABLED:="no"}
|
|
||||||
: ${CELERYD_PID_FILE:="/run/celery/celeryd@%n.pid"}
|
|
||||||
: ${CELERYD_LOG_FILE:="/var/log/celery/celeryd@%n.log"}
|
|
||||||
: ${CELERYD_LOG_LEVEL:="INFO"}
|
|
||||||
: ${CELERYD_NODES:="celery"}
|
|
||||||
|
|
||||||
: ${CELERYBEAT_ENABLED:="no"}
|
|
||||||
: ${CELERYBEAT_PID_FILE:="/run/celery/celerybeat.pid"}
|
|
||||||
: ${CELERYBEAT_LOG_FILE:="/var/log/celery/celerybeat.log"}
|
|
||||||
: ${CELERYBEAT_LOG_LEVEL:="INFO"}
|
|
||||||
|
|
||||||
export CELERY_LOADER
|
|
||||||
|
|
||||||
: ${CELERYD_MULTI:="celery multi"}
|
|
||||||
: ${CELERYCTL:="celery"}
|
|
||||||
: ${CELERYBEAT:="celery beat"}
|
|
||||||
|
|
||||||
CELERYBEAT_OPTS="${CELERYBEAT_OPTS} -f ${CELERYBEAT_LOG_FILE} -l ${CELERYBEAT_LOG_LEVEL}"
|
|
||||||
|
|
||||||
create_dirs() {
|
|
||||||
logfile="${1}"
|
|
||||||
pidfile="${2}"
|
|
||||||
logdir=$(dirname ${logfile})
|
|
||||||
piddir=$(dirname ${pidfile})
|
|
||||||
|
|
||||||
checkpath -d -q -m 0750 -o ${CELERY_USER:-"root"}:${CELERY_GROUP:-"root"} ${logdir} ${piddir}
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -n "${CELERY_USER}" ] && DAEMON_OPTS="${DAEMON_OPTS} --uid=${CELERY_USER}"
|
|
||||||
[ -n "${CELERY_GROUP}" ] && DAEMON_OPTS="${DAEMON_OPTS} --gid=${CELERY_GROUP}"
|
|
||||||
|
|
||||||
checkconfig() {
|
|
||||||
if [ ! -c /dev/null ]; then
|
|
||||||
eerror "/dev/null is not a character device!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${CELERY_PROJDIR}" ]; then
|
|
||||||
eerror "Missing CELERY_PROJDIR variable"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
yesno "${CELERYD_ENABLED}" && \
|
|
||||||
create_dirs "${CELERYD_LOG_FILE}" "${CELERYD_PID_FILE}"
|
|
||||||
|
|
||||||
yesno "${CELERYBEAT_ENABLED}" && \
|
|
||||||
create_dirs "${CELERYBEAT_LOG_FILE}" "${CELERYBEAT_PID_FILE}"
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
celery_chdir() {
|
|
||||||
[ -n "${CELERY_PROJDIR}" ] && cd "${CELERY_PROJDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
wait_pid () {
|
|
||||||
pidfile=${1}
|
|
||||||
timeout=${STOPTIMEOUT:-"10"}
|
|
||||||
PID=$(cat "${pidfile}" 2>/dev/null)
|
|
||||||
|
|
||||||
while [ -n "${PID}" ] && [ "${timeout}" -ge 1 ]; do
|
|
||||||
kill -0 ${PID} 2>/dev/null || break
|
|
||||||
kill -TERM "${PID}"
|
|
||||||
timeout=$((${timeout} - 1))
|
|
||||||
sleep 0.5
|
|
||||||
done
|
|
||||||
|
|
||||||
[ "${timeout}" -lt 1 ] && return 1
|
|
||||||
[ -f ${pidfile} ] && rm -f ${pidfile}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# celeryd
|
|
||||||
start_workers() {
|
|
||||||
yesno "${CELERYD_ENABLED}" || return 0
|
|
||||||
|
|
||||||
${CELERYD_MULTI} start ${CELERYD_NODES} ${DAEMON_OPTS} \
|
|
||||||
--pidfile="${CELERYD_PID_FILE}" \
|
|
||||||
--logfile="${CELERYD_LOG_FILE}" \
|
|
||||||
--loglevel="${CELERYD_LOG_LEVEL}" \
|
|
||||||
${CELERYD_OPTS}
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_workers() {
|
|
||||||
yesno "${CELERYD_ENABLED}" || return 0
|
|
||||||
|
|
||||||
timeout=${STOPTIMEOUT:-"10"}
|
|
||||||
|
|
||||||
${CELERYD_MULTI} stop ${CELERYD_NODES} --pidfile="${CELERYD_PID_FILE}" || return 1
|
|
||||||
|
|
||||||
# Wait for each node
|
|
||||||
for node in ${CELERYD_NODES}; do
|
|
||||||
pidfile=$(echo "${CELERYD_PID_FILE}" | sed "s/%n/${node}/g")
|
|
||||||
PID=$(cat "${pidfile}" 2>/dev/null)
|
|
||||||
while [ -n "${PID}" ] && [ "${timeout}" -ge 1 ]; do
|
|
||||||
kill -0 ${PID} 2>/dev/null || break
|
|
||||||
timeout=$((${timeout} - 1))
|
|
||||||
sleep 0.5
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
[ "${timeout}" -lt 1 ] && return 1
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
restart_workers() {
|
|
||||||
yesno "${CELERYD_ENABLED}" || return 0
|
|
||||||
|
|
||||||
${CELERYD_MULTI} restart ${CELERYD_NODES} ${DAEMON_OPTS} \
|
|
||||||
--pidfile="${CELERYD_PID_FILE}" \
|
|
||||||
--logfile="${CELERYD_LOG_FILE}" \
|
|
||||||
--loglevel="${CELERYD_LOG_LEVEL}" \
|
|
||||||
${CELERYD_OPTS}
|
|
||||||
}
|
|
||||||
|
|
||||||
# celerybeat
|
|
||||||
start_beat() {
|
|
||||||
yesno "${CELERYBEAT_ENABLED}" || return 0
|
|
||||||
|
|
||||||
ebegin "Starting celerybeat"
|
|
||||||
${CELERYBEAT} ${CELERYBEAT_OPTS} ${DAEMON_OPTS} --detach \
|
|
||||||
--pidfile="${CELERYBEAT_PID_FILE}"
|
|
||||||
eend ${?}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
stop_beat() {
|
|
||||||
yesno "${CELERYBEAT_ENABLED}" || return 0
|
|
||||||
|
|
||||||
ebegin "Stopping celerybeat"
|
|
||||||
if [ -f "${CELERYBEAT_PID_FILE}" ]; then
|
|
||||||
wait_pid "${CELERYBEAT_PID_FILE}"
|
|
||||||
else
|
|
||||||
ewarn "not running"
|
|
||||||
fi
|
|
||||||
eend ${?}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
start() {
|
|
||||||
cr=0
|
|
||||||
|
|
||||||
checkconfig || return 1
|
|
||||||
|
|
||||||
ebegin "Starting ${SVCNAME}"
|
|
||||||
eindent
|
|
||||||
|
|
||||||
celery_chdir && \
|
|
||||||
start_workers && \
|
|
||||||
start_beat || cr=1
|
|
||||||
|
|
||||||
eoutdent
|
|
||||||
eend ${cr}
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
cr=0
|
|
||||||
|
|
||||||
checkconfig || return 1
|
|
||||||
|
|
||||||
ebegin "Stopping ${SVCNAME}"
|
|
||||||
eindent
|
|
||||||
|
|
||||||
celery_chdir
|
|
||||||
stop_workers || cr=1
|
|
||||||
stop_beat || cr=1
|
|
||||||
|
|
||||||
eoutdent
|
|
||||||
eend ${cr}
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
cr=0
|
|
||||||
|
|
||||||
checkconfig || return 1
|
|
||||||
|
|
||||||
ebegin "Restarting ${SVCNAME}"
|
|
||||||
eindent
|
|
||||||
|
|
||||||
celery_chdir
|
|
||||||
restart_workers || cr=1
|
|
||||||
stop_beat && start_beat || cr=1
|
|
||||||
|
|
||||||
eoutdent
|
|
||||||
eend ${cr}
|
|
||||||
}
|
|
||||||
|
|
||||||
status() {
|
|
||||||
checkconfig || return 1
|
|
||||||
|
|
||||||
celery_chdir && \
|
|
||||||
${CELERYCTL} status
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<maintainer type="person">
|
|
||||||
<name>Julien Roy</name>
|
|
||||||
<email>julien@jroy.ca</email>
|
|
||||||
</maintainer>
|
|
||||||
<upstream>
|
|
||||||
<remote-id type="pypi">celery</remote-id>
|
|
||||||
<remote-id type="github">celery/celery</remote-id>
|
|
||||||
<doc>https://docs.celeryq.dev/en/stable/</doc>
|
|
||||||
<changelog>https://docs.celeryq.dev/en/stable/changelog.html</changelog>
|
|
||||||
<bugs-to>https://github.com/celery/celery/issues</bugs-to>
|
|
||||||
</upstream>
|
|
||||||
</pkgmetadata>
|
|
||||||
@@ -61,11 +61,6 @@ app-crypt/nitrokey-app2
|
|||||||
# Replaced by sys-fs/bcachefs-tools[modules] in ::gentoo.
|
# Replaced by sys-fs/bcachefs-tools[modules] in ::gentoo.
|
||||||
sys-fs/bcachefs-kmod
|
sys-fs/bcachefs-kmod
|
||||||
|
|
||||||
# Anna Vyalkova <cyber+gentoo@sysrq.in> (2026-03-20)
|
|
||||||
# Unmaintained in ::guru. Depends on masked dev-python/click-didyoumean.
|
|
||||||
# Removal on 2026-04-28.
|
|
||||||
dev-python/celery
|
|
||||||
|
|
||||||
# Lucio Sauer <watermanpaint@posteo.net> (2026-02-10)
|
# Lucio Sauer <watermanpaint@posteo.net> (2026-02-10)
|
||||||
# The hyprland suite is moving to the unofficial 'hyproverlay' repository at
|
# The hyprland suite is moving to the unofficial 'hyproverlay' repository at
|
||||||
# https://codeberg.org/hyproverlay/hyproverlay.git
|
# https://codeberg.org/hyproverlay/hyproverlay.git
|
||||||
|
|||||||
Reference in New Issue
Block a user