Django crontab calismiyor

Merhaba.uzerinde calisdigim projede bir ve en onemli sey kaldi,buda cronjob.projeye basladigimdan beri bununla ugrasiyorum. ama olmuyor.
ilgili kodlari paylasiyorum:
tasks.py(cron isinin oldugu dosya):

from celery.schedules import crontab
from celery.task import periodic_task
from django.utils import timezone
from .models import elan

@periodic_task(name = 'autopostsil', run_every=crontab(minute='*/5'))
def autopostsil():
    # Query all the foos in our database
    taskelanlar = elan.objects.all()

    # Iterate through them
    for birtaskelan in taskelanlar:

        # If the expiration date is bigger than now delete it
        if birtaskelan.silinme_vaxti < timezone.now():
            birtaskelan.delete()
            # log deletion
    return "completed deleting foos at {}".format(timezone.now())

ilgili settings.py:

CRONJOBS  = [
    ( '*/5 * * * *' , 'elan.cron.autopostsil' )
]

ilgili view.py:

        post.silinme_vaxti = timezone.now() + timedelta(days=1)

ilgili models.py:

    silinme_vaxti = models.DateTimeField()

terminalde calisdigini gosteriyor ama:

(elanvenv) linux@admin:~/Masaüstü/elansayti$ python3 manage.py crontab show
Currently active jobs in crontab:
b6fa098b0e26160743046261f3fa6abb -> ('*/5 * * * *', 'elan.cron.autopostsil')

 cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: >
     Active: active (running) since Wed 2020-08-05 12:29:27 +04; 14min ago
       Docs: man:cron(8)
   Main PID: 950 (cron)
      Tasks: 1 (limit: 4547)
     Memory: 14.6M
     CGroup: /system.slice/cron.service
             └─950 /usr/sbin/cron -f

Ağu 05 12:30:46 admin CRON[1319]: pam_unix(cron:session): session closed for us>
Ağu 05 12:35:01 admin cron[950]: (linux) RELOAD (crontabs/linux)
Ağu 05 12:35:01 admin CRON[3053]: pam_unix(cron:session): session opened for us>
Ağu 05 12:35:01 admin CRON[3054]: (linux) CMD (/home/linux/Masa\303\274st\303\2>
Ağu 05 12:35:02 admin CRON[3053]: (CRON) info (No MTA installed, discarding out>
Ağu 05 12:35:02 admin CRON[3053]: pam_unix(cron:session): session closed for us>
Ağu 05 12:40:01 admin CRON[3588]: pam_unix(cron:session): session opened for us>
Ağu 05 12:40:01 admin CRON[3589]: (linux) CMD (/home/linux/Masa\303\274st\303\2>
Ağu 05 12:40:02 admin CRON[3588]: (CRON) info (No MTA installed, discarding out>
Ağu 05 12:40:02 admin CRON[3588]: pam_unix(cron:session): session closed for u

linux by (uid=0)
4/elansayti/elanvenv/bin/python3 /home/linux/Masa\303\274st\303\274/elansayti/m>
ut)
r linux
r linux by (uid=0)
4/elansayti/elanvenv/bin/python3 /home/linux/Masa\303\274st\303\274/elansayti/m>
ut)
r linux

(yapmaya calisdigim sey postlarin 1 gun sonra oto. silinmesi)
yardimci olursaniz sevinirim.bu olmadan projemi yayinlayamam.cunki projemin en onemli sey ve ben yapamiyorum.

Arkadaslar sorun tasks.py nin kod kisminda degil.cunki kod kismini (if else) shellde calisdirdim ve calisti.silinme zamani timezone.now()dan kucuk oldugu anda siliniyor.views.py-de de sorun yok onuda denedim bir tek stteings.py kaliyor.yada tasks.pynin yukarisinda fala bir yanlis yaptim.yardimci olursaniz sevinirim.projemin en onemli kismi ve kac gundur cozemiyorum:(

settings.py ye boyle bir sey ekledim ama hala calismiyor:

CRON_CLASSES = [
    "elan.cron.autopostsil",
]

Cron olayını bilsem yardım ederdim, ama bilmiyorum :frowning:

Ama size tavsiyem internette güzelce araştırın. Mümkünse İngilizce aratın. Anahtar kelimeler elinizde zaten. Bir tutorial bulup onu da takip edebilirsiniz.

Sukurler olsun bunuda cozdum.aslinda crontaba hic gerek yokmus.su mantikla cozdum:tumpostlar urline her istek geldiginde(ki site acilir acilmaz bu urle istek gidiyor) django ilgili viewde bir if kontrolu yapiyor.silinme zamani timezone.now()(simdi)-den kucuk olanlari siliyor.1 haftadir bosuna kendimi yoruyormusum.

tam 1haftadir yanlizca bununla ugrasiyorum

istemeniz bile yeter.tesekkur ederim.

Yine de ihtiyaç olur da birileri denemek isterse diye paylaşıyorum.

1 Beğeni