NewsBlur-viq/apps/rss_feeds/management/commands/task_feeds.py
2010-08-31 22:17:31 -04:00

31 lines
No EOL
1 KiB
Python

from django.core.management.base import BaseCommand
from django.conf import settings
from apps.rss_feeds.models import Feed
from optparse import make_option
from apps.rss_feeds.tasks import RefreshFeed
import datetime
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option("-f", "--feed", default=None),
make_option("-F", "--force", dest="force", action="store_true"),
make_option('-V', '--verbose', action='store_true',
dest='verbose', default=False, help='Verbose output.'),
)
def handle(self, *args, **options):
settings.LOG_TO_STREAM = True
now = datetime.datetime.now()
feeds = Feed.objects.filter(next_scheduled_update__lte=now, active=True).order_by('?')
if options['force']:
feeds = Feed.objects.all()
print " ---> Tasking %s feeds..." % feeds.count()
for f in feeds:
f.set_next_scheduled_update()
RefreshFeed.apply_async(args=(f.pk,))