## 现在不同步豆瓣日记
                if str(sync_task.category) == str(config.CATE_DOUBAN_NOTE):
                    continue

                ## 同步wordpress rss
                if str(sync_task.category) == str(config.CATE_WORDPRESS_POST):
                    jobs.sync_wordpress(sync_task)
                    queue.remove()
                    continue

                max_sync_times = 0
                min_id = Status.get_min_origin_id(sync_task.category,
                                                  sync_task.user_id)
                if sync_task:
                    while True:
                        if max_sync_times >= 6:
                            break
                        r = jobs.sync(sync_task, old=True)
                        new_min_id = Status.get_min_origin_id(
                            sync_task.category, sync_task.user_id)
                        if r == 0 or new_min_id == min_id:
                            break
                        min_id = new_min_id
                        max_sync_times += 1
            queue.remove()
            time.sleep(5)
        time.sleep(5)
    except Exception, e:
        import traceback
        print '%s %s' % (datetime.datetime.now(), traceback.format_exc())
Beispiel #2
0
        try:
            queue_ids = TaskQueue.get_all_ids()
            print 'queue length:', len(queue_ids) 
            for qid in queue_ids:
                queue = TaskQueue.get(qid)
                if queue and queue.task_kind == config.K_SYNCTASK:
                    print 'syncing task id:', queue.task_id
                    sync_task = SyncTask.get(queue.task_id)
                    max_sync_times = 0
                    min_id = Status.get_min_origin_id(sync_task.category, sync_task.user_id)
                    if sync_task:
                        while True:
                            if max_sync_times >= 3:
                                break
                            r = jobs.sync(sync_task, old=True)
                            new_min_id = Status.get_min_origin_id(sync_task.category, sync_task.user_id)
                            if r == 0 or new_min_id == min_id:
                                break
                            min_id = new_min_id
                            max_sync_times += 1
                queue.remove()
                time.sleep(5)
            time.sleep(30)
        except Exception, e:
            print '----except: %s' %e
            time.sleep(5)

        #print commands.getoutput("python jobs.py -t old -c 101 -n 1")
        #print commands.getoutput("python jobs.py -t old -c 102 -n 1")
        #print commands.getoutput("python jobs.py -t old -c 200 -n 1")
Beispiel #3
0
import datetime
from past import config
from past.model.status import SyncTask
from past.model.user import User
import jobs

if __name__ == '__main__':
    user = User.get(sys.argv[1])
    old = sys.argv[2] == "old"

    if not user:
        print "no such user"
        exit(1)

    ts = SyncTask.gets_by_user(user)
    if not ts:
        print "no sync tasks"

    for t in ts:
        try:
            if t.category == config.CATE_WORDPRESS_POST:
                jobs.sync_wordpress(t)
            else:
                jobs.sync(t, old=old)
        except Exception, e:
            import traceback
            print "%s %s" % (datetime.datetime.now(), traceback.format_exc())