From ec2c7eda1ee13dd571856622987ce3a95a286242 Mon Sep 17 00:00:00 2001 From: tdruez Date: Thu, 13 Nov 2025 12:57:01 +0400 Subject: [PATCH 1/7] Migrate from rq-scheduler to new built-in CronScheduler Signed-off-by: tdruez --- dejacode/settings.py | 5 - dje/management/commands/cronjobs.py | 72 +++++++++ dje/management/commands/setupcron.py | 86 ---------- docker-compose.yml | 4 +- pyproject.toml | 4 - thirdparty/dist/crontab-1.0.5.tar.gz | Bin 21963 -> 0 bytes thirdparty/dist/crontab-1.0.5.tar.gz.ABOUT | 150 ------------------ .../dist/freezegun-1.5.2-py3-none-any.whl | Bin 18715 -> 0 bytes .../freezegun-1.5.2-py3-none-any.whl.ABOUT | 15 -- .../rq_scheduler-0.14.0-py2.py3-none-any.whl | Bin 13874 -> 0 bytes ...cheduler-0.14.0-py2.py3-none-any.whl.ABOUT | 14 -- 11 files changed, 73 insertions(+), 277 deletions(-) create mode 100644 dje/management/commands/cronjobs.py delete mode 100644 dje/management/commands/setupcron.py delete mode 100644 thirdparty/dist/crontab-1.0.5.tar.gz delete mode 100644 thirdparty/dist/crontab-1.0.5.tar.gz.ABOUT delete mode 100644 thirdparty/dist/freezegun-1.5.2-py3-none-any.whl delete mode 100644 thirdparty/dist/freezegun-1.5.2-py3-none-any.whl.ABOUT delete mode 100644 thirdparty/dist/rq_scheduler-0.14.0-py2.py3-none-any.whl delete mode 100644 thirdparty/dist/rq_scheduler-0.14.0-py2.py3-none-any.whl.ABOUT diff --git a/dejacode/settings.py b/dejacode/settings.py index ff5cf60b..da894325 100644 --- a/dejacode/settings.py +++ b/dejacode/settings.py @@ -566,11 +566,6 @@ def get_fake_redis_connection(config, use_strict_redis): "propagate": False, "level": DEJACODE_LOG_LEVEL, }, - "rq_scheduler.scheduler": { - "handlers": ["null"] if IS_TESTS else ["console"], - "propagate": False, - "level": "DEBUG" if DEBUG else DEJACODE_LOG_LEVEL, - }, }, } diff --git a/dje/management/commands/cronjobs.py b/dje/management/commands/cronjobs.py new file mode 100644 index 00000000..a60ef283 --- /dev/null +++ b/dje/management/commands/cronjobs.py @@ -0,0 +1,72 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# DejaCode is a trademark of nexB Inc. +# SPDX-License-Identifier: AGPL-3.0-only +# See https://github.com/aboutcode-org/dejacode for support or download. +# See https://aboutcode.org for more information about AboutCode FOSS projects. +# + +""" +Management command to manage RQ CronScheduler instances. + +Usage: + ./manage.py cronjobs # Start the cron scheduler +""" + +import sys + +from django.conf import settings +from django.core.management.base import BaseCommand + +import django_rq +from rq.cron import CronScheduler + + +class Command(BaseCommand): + help = ( + "Manage RQ CronScheduler instances. " + "The CronScheduler enqueues jobs at regular intervals based on cron configuration." + ) + + def handle(self, *args, **options): + if not settings.DEJACODE_ASYNC: + self.stdout.write("SYNC mode detected, cron scheduler is not needed.") + sys.exit(0) + + connection = django_rq.get_connection("default") + self.start_scheduler(connection) + + def start_scheduler(self, connection): + """Start the cron scheduler.""" + self.stdout.write(self.style.SUCCESS("Starting cron scheduler...")) + self.stdout.write("(Press Ctrl+C to stop)") + + cron = CronScheduler(connection=connection, logging_level="INFO") + + # Register jobs + cron.register(print, queue_name="default", cron="* * * * *") + + # Start the scheduler (this will block until interrupted) + try: + cron.start() + except KeyboardInterrupt: + self.stdout.write(self.style.SUCCESS("\nShutting down cron scheduler...")) + sys.exit(0) + except Exception as e: + self.stdout.write(self.style.ERROR(f"Error starting cron scheduler: {e}")) + sys.exit(1) + + +# self.stdout.write("Schedule vulnerabilities update:") +# forever = None +# scheduler.cron( +# cron_string=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default +# func=update_vulnerabilities, +# result_ttl=300, +# repeat=forever, +# timeout="3h", +# use_local_timezone=True, +# ) +# +# self.stdout.write(self.style.SUCCESS("Successfully set up cron jobs.")) +# self.print_scheduled_jobs(scheduler) diff --git a/dje/management/commands/setupcron.py b/dje/management/commands/setupcron.py deleted file mode 100644 index a5db1e7a..00000000 --- a/dje/management/commands/setupcron.py +++ /dev/null @@ -1,86 +0,0 @@ -# -# Copyright (c) nexB Inc. and others. All rights reserved. -# DejaCode is a trademark of nexB Inc. -# SPDX-License-Identifier: AGPL-3.0-only -# See https://github.com/aboutcode-org/dejacode for support or download. -# See https://aboutcode.org for more information about AboutCode FOSS projects. -# - -import sys - -from django.conf import settings -from django.contrib.humanize.templatetags.humanize import naturaltime -from django.core.management.base import BaseCommand - -import django_rq - -from dje.tasks import update_vulnerabilities - -# **Regular RQ jobs** are tasks that run once when you enqueue them. -# **Scheduled RQ jobs** are tasks that are set to run automatically at specific times -# or intervals, like every day or every hour. -# The scheduler keeps track of these jobs and enqueues them when it's time for them to -# run. - - -class Command(BaseCommand): - help = ( - "Sets up the application's scheduled cron jobs. " - "Cron jobs are tasks that run automatically at specified intervals." - ) - - def add_arguments(self, parser): - super().add_arguments(parser) - parser.add_argument( - "--list", - action="store_true", - help="List the current scheduled cron jobs.", - ) - - def handle(self, *args, **options): - if not settings.DEJACODE_ASYNC: - self.stdout.write("SYNC mode detected, skipping cron job setup.") - sys.exit(0) - - scheduler = django_rq.get_scheduler("default") - - if options["list"]: - self.print_scheduled_jobs(scheduler) - sys.exit(0) - - # Cancel all existing cron jobs in the scheduler. - # This ensures that the cron entries are always up-to-date in case their - # configuration has changed. It also prevents any duplicate or orphaned jobs - # from remaining in the scheduler, maintaining a clean and accurate schedule. - cancel_all_scheduled_jobs(scheduler) - - self.stdout.write("Schedule vulnerabilities update:") - forever = None - scheduler.cron( - cron_string=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default - func=update_vulnerabilities, - result_ttl=300, - repeat=forever, - timeout="3h", - use_local_timezone=True, - ) - - self.stdout.write(self.style.SUCCESS("Successfully set up cron jobs.")) - self.print_scheduled_jobs(scheduler) - - def print_scheduled_jobs(self, scheduler): - self.stdout.write("Scheduled jobs next execution:") - for job, scheduled_time in scheduler.get_jobs(with_times=True): - msg = f" > {job.description} in {naturaltime(scheduled_time)} ({scheduled_time})" - self.stdout.write(msg) - - -def cancel_all_scheduled_jobs(scheduler): - """ - Cancel all scheduled jobs in the given scheduler. - - This function iterates over all jobs currently scheduled in the scheduler - and cancels each one, effectively clearing the schedule. - """ - for job in scheduler.get_jobs(): - scheduler.cancel(job) diff --git a/docker-compose.yml b/docker-compose.yml index 9f4186b4..e96acac7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,9 +66,7 @@ services: scheduler: build: . - command: wait-for-it web:8000 -- sh -c " - ./manage.py setupcron && - ./manage.py rqscheduler --interval=600" + command: wait-for-it web:8000 -- sh -c "./manage.py cronjobs" env_file: - docker.env volumes: diff --git a/pyproject.toml b/pyproject.toml index 7f1d8393..993cda86 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,10 +84,6 @@ dependencies = [ "croniter==6.0.0", "django-rq==3.1.0", "fakeredis==2.32.1", - # Scheduler - "rq-scheduler==0.14.0", - "crontab==1.0.5", - "freezegun==1.5.2", # Libs "certifi==2025.11.12", "urllib3==2.5.0", diff --git a/thirdparty/dist/crontab-1.0.5.tar.gz b/thirdparty/dist/crontab-1.0.5.tar.gz deleted file mode 100644 index 95f940354e64c5adbe831373f1fdfd92d326e941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21963 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 from crontab import CronTab - >>> from datetime import datetime - >>> # define the crontab for 25 minutes past the hour every hour - ... entry = CronTab('25 * * * *') - >>> # find the delay from when this was run (around 11:13AM) - ... entry.next() - 720.81637899999998 - >>> # find the delay from when it was last scheduled - ... entry.next(datetime(2011, 7, 17, 11, 25)) - 3600.0 - - - - - Notes - ===== - - At most one of 'day of week' or 'day of month' can be a value other than '?' - or '*'. We violate spec here and allow '*' to be an alias for '?', in the case - where one of those values is specified (seeing as some platforms don't support - '?'). - - This module also supports the convenient aliases:: - - @yearly - @annually - @monthly - @weekly - @daily - @hourly - - Example full crontab entries and their meanings:: - - 30 */2 * * * -> 30 minutes past the hour every 2 hours - 15,45 23 * * * -> 11:15PM and 11:45PM every day - 0 1 ? * SUN -> 1AM every Sunday - 0 1 * * SUN -> 1AM every Sunday (same as above) - 0 0 1 jan/2 * 2011-2013 -> - midnight on January 1, 2011 and the first of every odd month until - the end of 2013 - 24 7 L * * -> 7:24 AM on the last day of every month - 24 7 * * L5 -> 7:24 AM on the last friday of every month - 24 7 * * Lwed-fri -> - 7:24 AM on the last wednesday, thursday, and friday of every month - 0 8 L * * -> 8 AM on the last day of the month, every month - 0 8 Z0 * * -> 8 AM on the last day of the month, z0 is an alias for L - 0 8 Z1 * * -> 8 AM 1 day before the last day of the month, every month - 0 8 Z2 * * -> 8 AM 2 days before last day of the month, every month -homepage_url: https://github.com/josiahcarlson/parse-crontab -package_url: pkg:pypi/crontab@1.0.5 -license_expression: lgpl-2.1 AND (lgpl-2.0-plus AND lgpl-2.0 AND lgpl-3.0) -copyright: Copyright Josiah Carlson -redistribute: yes -attribute: yes -track_changes: yes -checksum_md5: 77ddc1000a05cbcf82e4471d6382cbef -checksum_sha1: e5a630966b862ab66f71db3e730da9d853e96f02 -licenses: - - key: lgpl-2.1 - name: GNU Lesser General Public License 2.1 - file: lgpl-2.1.LICENSE - - key: lgpl-3.0 - name: GNU Lesser General Public License 3.0 - file: lgpl-3.0.LICENSE - - key: lgpl-2.0 - name: GNU Library General Public License 2.0 - file: lgpl-2.0.LICENSE - - key: lgpl-2.0-plus - name: GNU Library General Public License 2.0 or later - file: lgpl-2.0-plus.LICENSE diff --git a/thirdparty/dist/freezegun-1.5.2-py3-none-any.whl b/thirdparty/dist/freezegun-1.5.2-py3-none-any.whl deleted file mode 100644 index e843aae522f76bbb1d080eeed6d09de29629250f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18715 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 H|Cs$BCEt$C diff --git a/thirdparty/dist/rq_scheduler-0.14.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/rq_scheduler-0.14.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index b6ea83ca..00000000 --- a/thirdparty/dist/rq_scheduler-0.14.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: rq_scheduler-0.14.0-py2.py3-none-any.whl -name: rq-scheduler -version: 0.14.0 -download_url: https://files.pythonhosted.org/packages/bb/d0/28cedca9f3b321f30e69d644c2dcd7097ec21570ec9606fde56750621300/rq_scheduler-0.14.0-py2.py3-none-any.whl -package_url: pkg:pypi/rq-scheduler@0.14.0 -license_expression: mit -copyright: Copyright rq-scheduler project contributors -attribute: yes -checksum_md5: 3375aafb840fa099da62b14f3067e91c -checksum_sha1: 694d2ee9e73111a9f311094a9941ae844441e528 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE From 086717e0af11581dc20c143beaa978bb02b81a9c Mon Sep 17 00:00:00 2001 From: tdruez Date: Thu, 13 Nov 2025 13:17:10 +0400 Subject: [PATCH 2/7] Register the update_vulnerabilities for testing Signed-off-by: tdruez --- dje/management/commands/cronjobs.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dje/management/commands/cronjobs.py b/dje/management/commands/cronjobs.py index a60ef283..a516caa9 100644 --- a/dje/management/commands/cronjobs.py +++ b/dje/management/commands/cronjobs.py @@ -21,6 +21,8 @@ import django_rq from rq.cron import CronScheduler +from dje.tasks import update_vulnerabilities + class Command(BaseCommand): help = ( @@ -44,7 +46,13 @@ def start_scheduler(self, connection): cron = CronScheduler(connection=connection, logging_level="INFO") # Register jobs - cron.register(print, queue_name="default", cron="* * * * *") + # cron.register(print, queue_name="default", cron="* * * * *") + cron.register( + func=update_vulnerabilities, + queue_name="default", + # cron=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default + cron="0 * * * *", # Every hour + ) # Start the scheduler (this will block until interrupted) try: From ed2cc2381c4886f4ca8c7c4e27fc010b3fb23b8f Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 24 Nov 2025 20:00:56 +0400 Subject: [PATCH 3/7] Upgrade rq and django-rq Signed-off-by: tdruez --- pyproject.toml | 4 ++-- .../dist/django_rq-3.2.1-py3-none-any.whl | Bin 0 -> 61841 bytes .../django_rq-3.2.1-py3-none-any.whl.ABOUT | 17 +++++++++++++++++ thirdparty/dist/rq-2.6.1-py3-none-any.whl | Bin 0 -> 112578 bytes .../dist/rq-2.6.1-py3-none-any.whl.ABOUT | 14 ++++++++++++++ 5 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 thirdparty/dist/django_rq-3.2.1-py3-none-any.whl create mode 100644 thirdparty/dist/django_rq-3.2.1-py3-none-any.whl.ABOUT create mode 100644 thirdparty/dist/rq-2.6.1-py3-none-any.whl create mode 100644 thirdparty/dist/rq-2.6.1-py3-none-any.whl.ABOUT diff --git a/pyproject.toml b/pyproject.toml index 993cda86..cf08299b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,9 +80,9 @@ dependencies = [ # Testing "model_bakery==1.10.1", # Task queue - "rq==2.6.0", + "rq==2.6.1", "croniter==6.0.0", - "django-rq==3.1.0", + "django-rq==3.2.1", "fakeredis==2.32.1", # Libs "certifi==2025.11.12", diff --git a/thirdparty/dist/django_rq-3.2.1-py3-none-any.whl b/thirdparty/dist/django_rq-3.2.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..8b9abcc880d8fdb605f79b6f58f72a936ae1bc57 GIT binary patch literal 61841 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

  • m6c>E`dWT&}|7EShr`^}Z&BSP#R%uk#w5&voODp7n^9X-wd)fbuf|L^Bql=^D z2*88Wsw8Jd&>Ir zcyoDeCYVUNE>&$V|4#ML&DL|;zm-?XmA+t7<8?8v+M%9)#5P0M&jMh;WPo1fzqL{W zHwNbQ&~B4)2R4&a+o28wBp1l-c;pm=NUX6nHxk9%?{0nrZbkl5s*w>;cjvJQdq&7$ zLszHnVAB8@$2q{pD{R0IV`>5EnD$4CiN}nWSsfihq`?q8EhE?n(-QZCU;wW-x9{T# zhi&jABy*1+FgHQEb>eTQ0rJ~T9CkvOA%b5Aih*<;CZ^PzR-yp&e}-qcS%3j`LI;2< zruzkhrXCzF#Y?DF;-yok!P*K+Zjk_zo@IJk+eSuAEm+w0q$1F#p`>fa+ zYkn5;FyXiyj!jMMcJ}tuF3+$4>~W+VKSLoYlX3R-wPm~k5_IcGHVg25J4UN=3(z;q zm=`nV<5V%J5%aCquY=4!hmDZMXzx<7S7W;BZ~E!oqJ zP6QSs5vPvIZI+n9w5C$N;`8DxrMd3@;q&z6;l$l1{mt)*^Ww03r0+5_4}Y>ddT0bC z3)i>e*soks7wE$5=FC3S%Ua$2-RtJ@ftHPn1z$y8a67o;6=a7}atCMUp%KWKD#fD} z^Jg3qQjKMXxr_bO?O}fB&59!l1 zCnx%>&pUlOAJ*P=hA~msp4L`usO4wi1DcnSJa{n!5^-QCR_&vS-M$ysTqU-9qx4CI zS8>3RNVfRJF5Q=cFGs(z+CUKqu9%vbOGuoH2Lq>&;WqPhG4$#!ukSb5lZnmZ?PeY< zS1x?1qJrCs9#(Uun07e4yjf^(>Ch2c?(PNk((V+ZyRW25-%86RsH zcv@N-k^a-uL*ZzKZzgSk38u+I7J7>lpHy_RbSc?u&~$ToX;(qi$Ry|x@V$vA8jav% zkssGTA8sM_j0|~GDe(%$r}QdCxrlLhh-zgG@Y*Y z%w0Ln1S}_$QD<(H=c`@78zNn-MED6Lzcl2uq2^aZqIYe=KZ9{S5Z~2QnY2sj&`Ikj z*Zs4o_Vc4VdoNZ@BEqh~D`P4yXzSxE%LoWS0Ok%!{)4eO+~OjNCuwCf z?Zt8EM_o)x-C4zX4ifM^z15sl=y+(a(6^>+Fj?sE3tS~!zxmvIb|Q;GUjkLe-$q0M z7~Luf^!j9J2b5(vbUx6g#oq%@^)%&LOm>{DS~=I8{bLK%K;bvdi1&mWakOFW6aa|V zStihmF~tV3ieih8BZ5275xRr;n-C+p3|wnNM;wfVW^iWxKT%{te%~Ur#1%xx^lL8N zfWl#W$dIB{K;dJVAU9h?3ga~Q>Po#kK0nW~arDgAJD4Iw;@nYBh#) zeZWwWff-Z)W0j(ydX~cZXS!ohtE^LMet^ite_Z6NY6-p@v=b!=bz`-jV(di**PPX@}*_+12%u~T7`8p{?8xWgy(>H&v`Jt7M#yKDZE zo7-}2^hP)5iXqEOaA~RjV0v^|8t~}tVr1#9s9!Gg@_WffVS2#UV5F15#JR=_bMp=a1SIUhUiO>FCjGF%3FT&MB$)-GLMi9O zF5tMNK>hJ3x2h2N2%>TNJVcltYG{59KQhFjS%>5!c@P{fLD&V5vYI4Sf7-7QJim9}FvgAn-QtD{wnU23$ z55`i~AnWO;Y%tCsE;+41ca#r0S)D*tF}>Dky{6#ZFd3|{R6L<~jS}=KeAHSH0ubF% zBuMbLniRGyTUY2*syL+fHsA{w#%Z6z@H!2u7` zS3poS(yhb0K!iJHHI>2pTT1ol8PWSk`9k1*O2l~0_*mlva}w%KoXjGK(em0q1j!Mxgf4|pOpGcLof>+_)5`2M2=KF5 zO4m+008Wn;j0fwCF{U?bcED;NBqZz^jr1B9@iS=M{=jixoeWzsMWVL+_E~OTQHR>c z#kjt4gDfzPOnAWySIdk`tfZ8qhbcN4D8=C_yXzpy0`&|+Fg7DDjeUts%}32x;NDuQ zEC`=|CYYQMWH@!>#2Ipf{v%97D*I93#N3Q%Z1gH)aOF4o0;uTyjs)h8*Ad8HE?TYE z^H%Uo*Hl*3>&0I?2i(k;JnKsF;pFXNgtmXcHv}2MV*yu}@4AsnptDK~zb^30sfh@y zSR5yml=bwZ`60)VU&lfxmT|>S)^3)0GV!J9jy?j0yR0C*IbN;(esCHA&9V_X{q67P z7!S3$@(U8{Jr~4}qq_8|vw2c?6)Vk4ZE>3inpV?#{$*GIh955uM$J0lEYw zEjy`89N>}qUsanV`ps;yDq}*z_k6VU$&Ctit2r;{7pRek_^)M)1b^$r1^0SVi_sl*j7*L=X2n?&?pou(Z8s zce*nbX-)p4A-CG@zHDRDOW3U9Ru7z#55F*98Lh;{30sDH+(LeHCI?4eDA52Adr6978jW3t)F&OnCr2i3j^PXlx9W*MJq`|M%GDBuH>06YhB?1C}3yGAs{K&Y7Tz4rI8%3 zhYpP!@sLb*>O+#rqoV)GtbOLwi{Vv>;b) z_Z6<;)yTQfTd%FH2e@7mPcOp%seJd&Gq(PKzQcxV7A?Pxy?6(keH1oJ*b?g`5E^SaN^nQKN6Y_a1viCT(&Gw zQ|rQT=`w2NGGOX;=bF)vjt5tIjKZ!tyI(ox66q=%NH*)Wd@sv% zhXV!d;E`UaVBz2~FAS4>Wdd2R3sf2BEQW|ru_KXzt*4CAeQrdkaI|Oiq2?Y*Proi| zvk0&~*I(5E`6fB1m^zZ8haZhEGqIxPFAy_^m>bd%_8#L^HPLgB7enbE`0n2Iqx*rh> zc_bc(?1>vdFN^9fJtI7!0^8#Z$+_`%k%j)D6#Cp@u5&(8(DW$sr9jq1MNq5&fQ%%$ zx25V!+CcJ`qD?5cx*hCX16jk<8pAWc{BtoPu$uV3!STfWRvG$k9g?_i0cr0s9%v$Z z(lb6+<{a1UI!c&50XW%3a?qN)Hh@zQy{m>z2mDge*Gi?)q);$mna$LEndghDuKV+P zgtn8DlFowE&@S3mbWXxvL&`J(;H?i24(|G`?7VzD=s7t%UqDe%(1Kku^sR2uqQxVk zWr1K%9TtzY!$QY402w)kof`5+NN$il?#y;qKnbf|{GWm^d=~`@Iuloh2e$fi)k07T z(#?hI#==^FLp6`n2B#Cop?hP{$Uk9_b_|Tai}rq|J)}Uk!belYo601ZjIOnQJt&eQ zX65JVgxTX}Ezo=?cFhZax)s{NQNp!4tTA8k|dZ~SyM$RdT_W( znhaFu6G3s*VEBb%ymq!;yL**Ao5Dgwu3brfv5BV7L5dkGzeIcscZq3u&&EOi5JAy> zlW)?5jOEN|)~yZ~(JtFBCNK4pW;v|Lg5j1e~omq$5eL28Mtmj%;K(da!!Qbf)@;N!(^+i3TeVTEJwD{No z^qn#gd5tQkgPPH^MNUoEad=yC&w;4w9AUDc0@M>A;%nC0FY9{`RtMfQs$`Hc`td$O z(E3qhRMfzr{Z?rcw!|45R9^J@C^@S2YqelD0N+C}w%tquK%QurT@oe4CQ-y6pV z*%jHznnGkJDq8HjEM?C+F)=fYv9Ckcu@r^u%UFu+6w1Dor4Z2|vLs6=A^ZRJ`yI)o zU;lfKGvgfhbD#IQ_rC9a-TOS>1$ZL9Ojf&Ph_Ta+2YNo8JMZpk;gx>ZrgC`T(pX_# zgyP98(&G2Y3Y-aQ# zA{hDr7FWqO?qW#G$}+q9X@OGqiN;7^$ZDNYj0+E6(dJc3-B8HvN_E~!O5CE7FDh=J zpK!u1j7B(Me>A%!y&qF2Xk{n!MhhtW&XJslJP{ z>9cDaxA}Io@^fNuh$mkpTR3}D@T&q*zQ`ws)58i;TXme2=dtZZYLYsW-p&>;RP*%u zL=E!d8koI+9i`deixKRaHmRmSOpeFbf^dTqRrFn-L*t;sGc3G%g<@@SX)GUGgvqlv zkMJ3<_MIEpYI92?GdxizH*lUkxTKghaaLmS`B#m%*V)>jYN7B1s&LDTrfL#1#cl*n zqiBgjscCPg4;#07+;Xc+w97~@?MQQ0eB)Xi?;f0W9Zb}$n`VkWH>D_3pK2P_mg$d>Y9J+w5VXMb(QkIRyC@?JvNOL5!oQizqi@6z2gD)TPjn$&RC^=}d~NvT33^gW6Z1?+;Ywc#zz znLKNcO=?o}Mvb_4*yFoa3(b$rO|_I5)TGj&2rYt+dLrNwkjLi{Dc{wmKWcsnM3GkC zfsf7A3m|7xU?M}c+7Cl08l%^%Je6&%yd0dbEHEXDdoueZc~BDB$#qKV`Vi}=2izg| z$1Y##SEigcfoH)&70||(j!q9+w3GNJ1XUR-6N9Uk?T;AIf*lvq^D6kKZoNv9EI!*Z zxkeNxj&`nMKbqJ_HK(p^8+4N_NJ9*E_Qpi>xd#*s9+$RDp~iDttFr1PUd3I|w$ZzY z*m4uw3J7B4v@@-Cs>B0$A)_&46TN-3695|w|XOimR6)To?WTDm&L|4u0FXJ+cWoK z#Y9}xtD8|T>pP;OyRf*gv6;5y#+~b-;>H$z^urErWt>kUr#U1WLmFPb{dzIJ%(EV? zcP@4*>G?| z)kr0$L1uRS)wgXi`j^%KH>G>!3d(jK!#gaOne8ja&f>fpt z-AxsQer&A6pAIyUT4 z-lI(|j-Z-j+ij{lt?b>Koh5ET`O^Vf}FX&DJk-fW&@eGdGd|#Gojw9?gjEjXkCBY_Mk>8-@td6 zsiRH9P)LcFKiXD-CcFg-N1sy17b16t6-n2x2+Q#)ts52+n_gimvpJVTK!x zYjsLtF1}10@^Es$r@B^6t7Pd(y5N;;?w6OIL3dT^8St`m^R=htLnRbL&b`mbcwyxz zpYf4`ODwLTr(n_7(At@{j5Yf0X~bGry_WN^Rqu6d+up@Grw+fph|!Py-cG}6x{0|@ z@yNW2jGj;8u0T>gNx3YF?M%|(c6&5gSeRxc(> zF(Csrmsi2WHZw#R>tx0!LSZ$7crDavmo&M=8~Cp1$NMm#sC&C_%_=3Gy2Thni*9M} zC4@?`q?Vph7a;}zfOOnTGukFTxUVJqxRB!pu%D$5{ILJJul3vZkiN2lf;#ydWsT16 zqiOInCWjUu!<)dW<}z7i_Yd8vF><@L)~9csj?j1LJW{l6`#A!X3c1gdBq zC()RETGcRB-AY;Nw@+xv_#&K_zAfoE(=72-;+!FJ8{%HQ1)L#b#SMA>%_Mt>6&U6O zDEg?Y$SG**DhMLokfz#N@I+zS+NCooh?!HpP?`BperMi=M1;RRtAx+(c2cV0b%xJ| z%*AP}rmSqm$ihPV+?umUYj>mEDq%{Ex39mVmcCd(e3XjL?4)&)mN8CE*@u!^-Fw#th!kPe08KM&#(c!ev2}j z*3w!u>v^$dkSogOiB*>3TBxu2*iYe?8<`zVcykAW&YZfA??0LxrrkvMDyS{LiOaAw z?2$Jap{}$8y|QW=w@$IW@p01S8}BmGc~f~z99qaj`H*sz9`e`kud$g8_4N$L`$UKl_kSaI-iu4r*3leup+(Qm=iIoECoNYK7Tp~ zBU`}jclp@mZJa$;CR@|=R8kP=H4u2m@t>1OM?p?YN4`A1l|FOec+jd3{b%mrK!%W0 z86?qESO==}Hh3N$VlraT-eI=Ruf=giKWdGgXAAjAoN6_h3m0lUZr-rTobra~n=5-C z;n@zo*xx3pM(c@`RvC3>W3ibrs4YO|`GJ2t)~4slW-h2C_mf?`+^}HjV*p;(4E2>c z+bve`Ov;#yCMV1^C@KxAf{FDyVIwOSYd`+E6#}YbRGG`dx(u8drkYyuXq(~6lt1qM znc_k#Wu|)H+~$Qr-NCjQ!z_==a$Zo&sts8}RiwX&-EBB?DMBbLkU3&G*k9)pq0R8? z6QudeE%VgMMN~Q(N;D4k6H7Y6AjK=+ZovHez@U zY~tm_(nQ_qACO-;NwORez1orC?kh^d{iB&#?V)IF7SAz@IJ(YWZZ70fn@A-nYC5k_d?<3laB!*+TJsfA2Qf9wzH%)|1G7?c z2p{|M{oAKv{WhYnixY?;yBs+MHq9HO-*f8Qd92q9PuEF>s zYou2nmY+Q9Xu~)!KH+3;&DUJHJxVd=AF9-x^m_bgbTXenCz)@j z5sds}z(=OlPcbg%KMGzM-v9-7vj?X>#xF05aS3I8Z^bv{o6E!L%E#wW{li0$)3Dcy z->mb5X&;r}-L7q<6;{dTvp2b0j+E0$=1jGb4gD)7fs}T#XeT^iCp-tgOH`903arvB~AqSSt0v*gFTb--RuchHg#@h{IlX1*PDC#XFWgi?MBEg8nBgy1-`FD- z+VPn5)%5~pMpu%f&n4WT1sIZv7vvG%D?hL+8gvm5@h{GD?v zQ2U%zeV?uGdRJ3{skoC=q<~>;E{sAjZRKTwi|MpVB%ZKJH~Vttdh5)TmOIZwS2e$Y z$#kh{kM6O?_tnai5i}c$i>#eXN?HqpptR%PxYDD79$^VAuj0X1JI))Ry~JQFGr9`w zZk;rjRhd1@IF}u~V!K#E1^v1fmFlQ4+ENd+YisYInbYWfCg!)o;AeI|t~s8A2syoA57A?Bd^lCKWDPhR^PhJ7VFI)7Rwi-AU)$V@Yws@P&u zlVKQ?MiSveq%L=&@8hwL7rvblWbFBz9QNdV{Rn~vYv{y(t69-2^qKCxXSdTMpq}{n zJH!NYRJEQA_KDd;7HwQ)?osXjFXduJ!-oAWrdGz+g^@{mQBU7;Ja4EeA&>$Uu?O{= znXgn1*h_?Wn4^eqn@5y#b)ujfii`?v|dI-?csK9i*)`R zKN1H;eSN*UOhm;g@niZ%B(^QKRI^tX=wN|Aj>m?9d3$N;~yw&M=>eV%(CT`E}x2gSP?Gy15k zLzy<`5klcD0x|F_ZhY<$D|u8`&1u~Ig}uu4R_SvaGw+#wbQWPb%~q!O@fIkZcZ@(d zd@Oh2Y4v)=r!QCOPGarSQBzHR`B~CHJ_;t%s{;DUmzBJ{`1~iPL${$BAb;-es5DXL z%n@NYZA9k<0nLnR(~O=o;`5taY_}SLUEI?X7vxIuOqMN9W4~lmjp?p!X}et}r0L^$ zDMB~hBiSA`^3S}>NZi}BN@JcJbQ%-K3p9*U(cjs1YYCwoO zmt^W?;@cB^cdoHT3Lei0K3Pr_TyOnFl4=XDY_{aGVS9VfS9jor+sAb_f(bM)=0^bujk_}L#xG6|hd-oaOD zn}2s~QLA|~$I-`8=pEv8+h)rUGuP*IM%o@fgR@JtNe}Cg<7McM=Gz6*o}?|LbViYrsGRA%6rY*XHE<)V!4Bp{Zc%g#@sRIB3)^={tx zts4gl7lx6fPTPGs%@wY(GH%b^5dFOz=k8Xr%0`=N;AhuT{P5_mpv;ZBzO^wrLLgYC zuc8tj;AmFq0Ex)iOmB$s9gmz%lPOCntg14N=TFBI5A<%su87x6vtR#~>j{Z$@40d# zD0@XKBPXq{Q8CHMtjwtVV;>88?mZ~A$v3sx_t~UOI0h2cHQ7fr&F{FN+4iRVNdM+F zHRU+6&$hH0c_xT@G8&M=*IFeHrKU;e4F_msLp!4Cm8$R}=S7eCPct(yuHikW-&f}p zM%$sE2*lJ@t#@l}3yrTO&ad`gv}0r09yuLRSdnIp1OLFEC3b zKL&dd_T&1pSIlck_-bDNx>Xg8>+71Kp86SX=jAK0#fvaEffd1GDP(NXk^4qH-9BtI z$-X-l1Q}*`g%;x+_+5qb#y{n?q%uXG7aK`rN0>d#DT!DvRkoF1nzJJjnGg*0w@%ly zidA5e&U7(^k_#QJ|88b`Q7J{gb`WAc)e@ULVZgCi(Q~Qj>`^o7o;Xo2eJ{w&n@WA2 z9OQ7&ku`?LV0!uGqP}px;^(j>vlj5?b}%Q1?!pBVXyOe;k?QxKBc^)D^HFwr)eo4G zmu`3>O!c7dsFm^`G%aKAW18{m{#o4N;nNb(0t-13;79fvoovL)UErGl9tcDSeC`zt zYWLgElbb@n$dX=DJBT=uNDcP}-f5bEFbhCw{Aaj0{!RreJp%a4 z-Q$PHf7S+pFenFtUrn%ZaBw=L`pO9LbT!a49?&+B{^w`GppFACS^HOD1&6`F|A-Kp zIU^zVhoKVmef@!%0g`6HwS<`L01D8DJH(RUzQ#5|z!9Z@H4H!P*u9WKz_wp3*_D@b zfq-2Pvtd(qZif`O?puHz2O-oz|LjAo!B%iU?H7(X3{t&yM41NYQF6eVgD$j`KeijUhjsI5)(iQ=> z*wg9#y+;IwBq6E*<}u)ugB=P6GCuD+)ERMTe+(i#9&G{FLBWMPML!4~sQ!nEA*rb$ zI0nRO6lvquC%^b>{XY%rZ)fkWRRHEI5`#dy_ny6iL9r_RT7NIn<97#0*tTul271FD z2)^3=U(Q~^pa_A(zxxgVW;qf8u@rJZz@cEIE!g?6uHCJ?H#|A^NWdosm9OzD3~B+h zumMBCFyw#T|8@a;v@-{2bAO^)!Jz=#`oQ6O+&N&Dl{wV|aJPWW-oSwSSuiLG%|96V z6N_-PI{X%;G0dHv4a|#Fz?FPIk-Jx}4s`9l8-Ka-U!Y*vKNIedTc5CvxZ7iZ#|5wt z`rv}@-?<2|lQR^22$mEPgsB94Fah}B>;ZH6_5P0C&jR%Oc%n+hMp6KCa+u=Zi0nN$ z1|_Kfe~|x)(Egn&f1g?nIhFKrthbbEArhC9sB@dYUyCThd z1%qlf{X6&HStZ~Ahwo~^3(zVtbc zXg#i>yM(=Y#<7P3J~1d!yFU>BW7UEyroIQnpb!UWd$BP8hqOAb!MM`e`%Sb$e>M2e zP5e9Eb~6FsvT;S2_t|Ukzp{UqWX8qg>gDd^pCJB<-(BAPoO{1&4dAwdD~r0{%30^X zweq`2DlQ#YrEj0U;qiC+0nI*KG_HKxK3c~6Z)jXGH(WNZ?9V>iBH*v=-$a0L>9|@E z`}DBTztM4&BXH5UiM{vHQotL={EifY}~A&`|R-e zzp?km_b)j_aq+k*>-O=ml>Zn1Zvs19GH&XoeR5sqU&((;M@ZqAbZM$SI^KN>;) z8?TE?#SO>br{)y=jrub<9~X)nnZFPH`d8>7ar(G;+-T)}ymZOmY~EYZ9(E7k;Z1=f8OW?D*osaCc|-VG?iu3wGFEEiM~(A8nsK)%RcQ be|OccsSyH8;9c!{DbQ135!f`c``iBjIiKiG literal 0 HcmV?d00001 diff --git a/thirdparty/dist/django_rq-3.2.1-py3-none-any.whl.ABOUT b/thirdparty/dist/django_rq-3.2.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..87df6e12 --- /dev/null +++ b/thirdparty/dist/django_rq-3.2.1-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: django_rq-3.2.1-py3-none-any.whl +name: django-rq +version: 3.2.1 +download_url: https://files.pythonhosted.org/packages/77/e1/c74a380907406146785131ccbe695b995161ba3ce899dbd8a54a7cd71d4b/django_rq-3.2.1-py3-none-any.whl +package_url: pkg:pypi/django-rq@3.2.1 +license_expression: mit AND unknown-license-reference +copyright: Copyright django-rq project contributors +attribute: yes +checksum_md5: 28eaea8cbf65da895741cf7eb251d391 +checksum_sha1: 2ecbe1c28f5d08b328aa33cda2bac499507539bb +licenses: + - key: mit + name: MIT License + file: mit.LICENSE + - key: unknown-license-reference + name: Unknown License file reference + file: unknown-license-reference.LICENSE diff --git a/thirdparty/dist/rq-2.6.1-py3-none-any.whl b/thirdparty/dist/rq-2.6.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..4fc45608dbcfab65e719a038fa50b93f314b7358 GIT binary patch literal 112578 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

    cm(jFpa{^G|1?3> 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

    =&I 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 literal 0 HcmV?d00001 diff --git a/thirdparty/dist/rq-2.6.1-py3-none-any.whl.ABOUT b/thirdparty/dist/rq-2.6.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..dcf34bb2 --- /dev/null +++ b/thirdparty/dist/rq-2.6.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: rq-2.6.1-py3-none-any.whl +name: rq +version: 2.6.1 +download_url: https://files.pythonhosted.org/packages/4b/cc/919ccbf0c9b4f8b0f68c3f53e6d8e1e94af4d74cee4e6d3cb2e81f7d0da9/rq-2.6.1-py3-none-any.whl +package_url: pkg:pypi/rq@2.6.1 +license_expression: bsd-new +copyright: Copyright rq project contributors +attribute: yes +checksum_md5: 98c1a62a926758b0b1af8a463e54d18d +checksum_sha1: ccf0b5adfae1459f95e00b2423a43c597706f06b +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE From ece1b7a573a898decd3ea67776b94f3e1b2943d3 Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 24 Nov 2025 20:16:54 +0400 Subject: [PATCH 4/7] Migrate to a dedicated cron_jobs module + rqcron command Signed-off-by: tdruez --- dje/cron_jobs.py | 20 ++++++++ dje/management/commands/cronjobs.py | 80 ----------------------------- dje/tasks.py | 2 +- docker-compose.yml | 2 +- 4 files changed, 22 insertions(+), 82 deletions(-) create mode 100644 dje/cron_jobs.py delete mode 100644 dje/management/commands/cronjobs.py diff --git a/dje/cron_jobs.py b/dje/cron_jobs.py new file mode 100644 index 00000000..aed42387 --- /dev/null +++ b/dje/cron_jobs.py @@ -0,0 +1,20 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# DejaCode is a trademark of nexB Inc. +# SPDX-License-Identifier: AGPL-3.0-only +# See https://github.com/aboutcode-org/dejacode for support or download. +# See https://aboutcode.org for more information about AboutCode FOSS projects. +# + +from rq import cron + +from dje.tasks import update_vulnerabilities + + +cron.register( + func=update_vulnerabilities, + queue_name="default", + # cron=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default + cron="0 * * * *", # Every hour + job_timeout=3600, # 1 hour +) diff --git a/dje/management/commands/cronjobs.py b/dje/management/commands/cronjobs.py deleted file mode 100644 index a516caa9..00000000 --- a/dje/management/commands/cronjobs.py +++ /dev/null @@ -1,80 +0,0 @@ -# -# Copyright (c) nexB Inc. and others. All rights reserved. -# DejaCode is a trademark of nexB Inc. -# SPDX-License-Identifier: AGPL-3.0-only -# See https://github.com/aboutcode-org/dejacode for support or download. -# See https://aboutcode.org for more information about AboutCode FOSS projects. -# - -""" -Management command to manage RQ CronScheduler instances. - -Usage: - ./manage.py cronjobs # Start the cron scheduler -""" - -import sys - -from django.conf import settings -from django.core.management.base import BaseCommand - -import django_rq -from rq.cron import CronScheduler - -from dje.tasks import update_vulnerabilities - - -class Command(BaseCommand): - help = ( - "Manage RQ CronScheduler instances. " - "The CronScheduler enqueues jobs at regular intervals based on cron configuration." - ) - - def handle(self, *args, **options): - if not settings.DEJACODE_ASYNC: - self.stdout.write("SYNC mode detected, cron scheduler is not needed.") - sys.exit(0) - - connection = django_rq.get_connection("default") - self.start_scheduler(connection) - - def start_scheduler(self, connection): - """Start the cron scheduler.""" - self.stdout.write(self.style.SUCCESS("Starting cron scheduler...")) - self.stdout.write("(Press Ctrl+C to stop)") - - cron = CronScheduler(connection=connection, logging_level="INFO") - - # Register jobs - # cron.register(print, queue_name="default", cron="* * * * *") - cron.register( - func=update_vulnerabilities, - queue_name="default", - # cron=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default - cron="0 * * * *", # Every hour - ) - - # Start the scheduler (this will block until interrupted) - try: - cron.start() - except KeyboardInterrupt: - self.stdout.write(self.style.SUCCESS("\nShutting down cron scheduler...")) - sys.exit(0) - except Exception as e: - self.stdout.write(self.style.ERROR(f"Error starting cron scheduler: {e}")) - sys.exit(1) - - -# self.stdout.write("Schedule vulnerabilities update:") -# forever = None -# scheduler.cron( -# cron_string=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default -# func=update_vulnerabilities, -# result_ttl=300, -# repeat=forever, -# timeout="3h", -# use_local_timezone=True, -# ) -# -# self.stdout.write(self.style.SUCCESS("Successfully set up cron jobs.")) -# self.print_scheduled_jobs(scheduler) diff --git a/dje/tasks.py b/dje/tasks.py index 72359aee..349197ab 100644 --- a/dje/tasks.py +++ b/dje/tasks.py @@ -122,7 +122,7 @@ def scancodeio_submit_scan(uris, user_uuid, dataspace_uuid): scancodeio.submit_scan(uri, user_uuid, dataspace_uuid) -@job("default", timeout="3h") +@job("default", timeout=3600) def update_vulnerabilities(): """Fetch vulnerabilities for all Dataspaces that enable vulnerablecodedb access.""" from vulnerabilities.fetch import fetch_from_vulnerablecode diff --git a/docker-compose.yml b/docker-compose.yml index e96acac7..8094b155 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,7 +66,7 @@ services: scheduler: build: . - command: wait-for-it web:8000 -- sh -c "./manage.py cronjobs" + command: wait-for-it web:8000 -- sh -c "./manage.py rqcron dje.cron_jobs --logging-level DEBUG" env_file: - docker.env volumes: From ca3f029cffa4197e14bab7fb50b73f52962d5122 Mon Sep 17 00:00:00 2001 From: tdruez Date: Tue, 25 Nov 2025 06:59:55 +0400 Subject: [PATCH 5/7] Add extra logging for debugging Signed-off-by: tdruez --- dje/cron_jobs.py | 1 - dje/tasks.py | 8 +++++++- vulnerabilities/fetch.py | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dje/cron_jobs.py b/dje/cron_jobs.py index aed42387..4c152f31 100644 --- a/dje/cron_jobs.py +++ b/dje/cron_jobs.py @@ -10,7 +10,6 @@ from dje.tasks import update_vulnerabilities - cron.register( func=update_vulnerabilities, queue_name="default", diff --git a/dje/tasks.py b/dje/tasks.py index 349197ab..a43153a5 100644 --- a/dje/tasks.py +++ b/dje/tasks.py @@ -133,4 +133,10 @@ def update_vulnerabilities(): for dataspace in dataspace_qs: logger.info(f"fetch_vulnerabilities for datapsace={dataspace}") - fetch_from_vulnerablecode(dataspace, batch_size=50, update=True, timeout=60) + fetch_from_vulnerablecode( + dataspace, + batch_size=50, + update=True, + timeout=60, + log_func=logger.info, + ) diff --git a/vulnerabilities/fetch.py b/vulnerabilities/fetch.py index 8c097567..f827f3cf 100644 --- a/vulnerabilities/fetch.py +++ b/vulnerabilities/fetch.py @@ -58,6 +58,7 @@ def fetch_from_vulnerablecode(dataspace, batch_size, update, timeout, log_func=N dataspace.vulnerabilities_updated_at = timezone.now() dataspace.save(update_fields=["vulnerabilities_updated_at"]) + log_func(f"Dataspace.vulnerabilities_updated_at updated") def fetch_for_packages( From 7213daf7068237b19f987328aab47e198f8f7288 Mon Sep 17 00:00:00 2001 From: tdruez Date: Tue, 25 Nov 2025 12:19:58 +0400 Subject: [PATCH 6/7] Prepare code for merge Signed-off-by: tdruez --- dje/cron_jobs.py | 9 ++++++--- dje/tasks.py | 4 ++-- docker-compose.yml | 2 +- vulnerabilities/fetch.py | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/dje/cron_jobs.py b/dje/cron_jobs.py index 4c152f31..38cd35fc 100644 --- a/dje/cron_jobs.py +++ b/dje/cron_jobs.py @@ -6,14 +6,17 @@ # See https://aboutcode.org for more information about AboutCode FOSS projects. # +from django.conf import settings + from rq import cron from dje.tasks import update_vulnerabilities +two_hour = 7200 + cron.register( func=update_vulnerabilities, queue_name="default", - # cron=settings.DEJACODE_VULNERABILITIES_CRON, # 3am daily by default - cron="0 * * * *", # Every hour - job_timeout=3600, # 1 hour + cron=settings.DEJACODE_VULNERABILITIES_CRON, # Daily at 3am by default + job_timeout=two_hour, ) diff --git a/dje/tasks.py b/dje/tasks.py index a43153a5..08a68d3f 100644 --- a/dje/tasks.py +++ b/dje/tasks.py @@ -122,7 +122,7 @@ def scancodeio_submit_scan(uris, user_uuid, dataspace_uuid): scancodeio.submit_scan(uri, user_uuid, dataspace_uuid) -@job("default", timeout=3600) +@job("default", timeout=7200) def update_vulnerabilities(): """Fetch vulnerabilities for all Dataspaces that enable vulnerablecodedb access.""" from vulnerabilities.fetch import fetch_from_vulnerablecode @@ -138,5 +138,5 @@ def update_vulnerabilities(): batch_size=50, update=True, timeout=60, - log_func=logger.info, + log_func=logger.debug, ) diff --git a/docker-compose.yml b/docker-compose.yml index 8094b155..fb853b70 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,7 +66,7 @@ services: scheduler: build: . - command: wait-for-it web:8000 -- sh -c "./manage.py rqcron dje.cron_jobs --logging-level DEBUG" + command: wait-for-it web:8000 -- sh -c "./manage.py rqcron dje.cron_jobs" env_file: - docker.env volumes: diff --git a/vulnerabilities/fetch.py b/vulnerabilities/fetch.py index f827f3cf..961bffa3 100644 --- a/vulnerabilities/fetch.py +++ b/vulnerabilities/fetch.py @@ -58,7 +58,7 @@ def fetch_from_vulnerablecode(dataspace, batch_size, update, timeout, log_func=N dataspace.vulnerabilities_updated_at = timezone.now() dataspace.save(update_fields=["vulnerabilities_updated_at"]) - log_func(f"Dataspace.vulnerabilities_updated_at updated") + log_func("Dataspace.vulnerabilities_updated_at updated") def fetch_for_packages( From a83bb44140bd849adeab5acc7c41b568a5aeb485 Mon Sep 17 00:00:00 2001 From: tdruez Date: Tue, 25 Nov 2025 14:29:44 +0400 Subject: [PATCH 7/7] Fix failing test Signed-off-by: tdruez --- vulnerabilities/tests/test_fetch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vulnerabilities/tests/test_fetch.py b/vulnerabilities/tests/test_fetch.py index 02878b7d..108f5f2c 100644 --- a/vulnerabilities/tests/test_fetch.py +++ b/vulnerabilities/tests/test_fetch.py @@ -52,6 +52,7 @@ def test_vulnerabilities_fetch_from_vulnerablecode( "+ Created 2 vulnerabilities" "+ Updated 0 vulnerabilities" "Completed in 0 seconds" + "Dataspace.vulnerabilities_updated_at updated" ) self.assertEqual(expected, buffer.getvalue()) self.dataspace.refresh_from_db()