Esempio n. 1
0
def personal(msg):
    try:
        if msg.from_user.id == naji and msg.text:
            if re.match("/fwd", msg.text) and msg.reply_to_message:
                for i in redis.smembers("bot:all", msg.chat.id):
                    try:
                        bot.forward_message(i, msg.chat.id,
                                            msg.reply_to_message.id)
                    except Exception as e:
                        print(e)

            if re.match("/stats", msg.text):
                bot.send_message(
                    msg.chat.id, "آمار\nگروه ها : {}\nخصوصی ها : {}".format(
                        redis.scard("bot:gps"), redis.scard("bot:pvs")))
        else:
            bot.send_message(
                msg.chat.id,
                "رباتی برای افزایش اعضای گروه\nفقط کافیه به گروهت دعوتش کنی و ادمینش کنی"
            )
            if not redis.sismember("bot:all", msg.chat.id):
                redis.sadd("bot:pvs", msg.chat.id)
                redis.sadd("bot:all", msg.chat.id)

    except Exception as e:
        print(e)
        pass
Esempio n. 2
0
def callback_inline(call):
 if call.message: 
     if call.data == "amar":
       markup = types.InlineKeyboardMarkup()
       c = types.InlineKeyboardButton("بروز رسانی💎",callback_data='amar')
       markup.add(c)
       usrs = str(redis.scard('seenchipy'))
       cha = str(redis.scard('chatpys'))
       tex = 'تعداد کاربران👤 : {}\nتعداد گروه🎯: {}'.format(usrs,cha)
       bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = tex, reply_markup=markup, parse_mode='Markdown')
Esempio n. 3
0
 def crawl_page(thread_name, page_url):
     # print(spider.gather_links(page_url))
     # exit()
     if not redis.sismember(spider.redis_cralw, com.md5_url(page_url)):
         print(thread_name + ' now crawling ' + str(page_url))
         print('Queue ' + str(redis.scard(spider.redis_queue)) +
               ' | Crawled  ' + str(redis.scard(spider.redis_cralw)))
         redis.sadd(spider.redis_cralw, com.md5_url(page_url))  # cralw add
         spider.gather_links(page_url)  # 搜索url
         # redis.srem(spider.redis_queue,page_url)# queue remove
         mysqldb.insertCrawl(spider.project_name, page_url)
     else:
         print("it is cralw")
Esempio n. 4
0
def get_GoldGameList(redis):
    """
    获取金币场场次
    """
    res = []
    for gameid in redis.smembers(GOLD_GAMEID_SET):
        list = PARTY_GOLD_GAME_LIST.get(gameid,
                                        PARTY_GOLD_GAME_LIST.get('default'))
        data = copy.deepcopy(list)
        for item in data:
            if gameid == '555':
                item['gameName'] = '经典牛牛'
            elif gameid == '666':
                item['gameName'] = '欢乐牛牛'
            elif gameid == '556':
                item['gameName'] = '明牌牛牛'
            elif gameid == '444':
                item['gameName'] = '东胜麻将'
            elif gameid == '557':
                item['gameName'] = '欢乐拼点'
                item['hasOwner'] = '1'  # 支持好友开房
            online = redis.scard(GOLD_ONLINE_PLAYID_ACCOUNT_SET %
                                 (gameid, item['id']))
            item['online'] = online
        res.append({'gameid': gameid, 'config': data})
    return res
def do_add_yesterday_data(redis, yesterday):
    print yesterday
    yesterday = convert_util.to_int(
        redis.scard(FORMAT_LOGIN_DATE_TABLE4FISH % (yesterday)))

    total = redis.incr("fish:login:per:day:total", yesterday)
    print 'do_add_yesterday_data[%s]' % (total)
Esempio n. 6
0
def doPatchSign(redis, account, date):
    """ 
        补签接口
        补签需要消耗2张房卡
    """
    user_info = get_user_info(redis, account)
    uid = user_info['uid']
    agentid = user_info['parentAg']
    roomcard = redis.get(USER4AGENT_CARD % (agentid, uid))
    roomcard = int(roomcard) if roomcard else 0

    if roomcard < PATCH_SIGN_FEE:
        return {'code': 1, 'msg': "钻石不足"}

    month = datetime.strptime(date, '%Y-%m-%d').month
    key = WELFARE_USER_PATCH_SIGN % (account, month)

    if redis.sismember(key, date):
        return {'code': 1, 'msg': "已补签过"}

    times = redis.scard(key)
    # 每月补签次数是否达到上限
    if times and int(times) > PATCH_SIGN_MAX:
        return {'code': 1, 'msg': "当月补签已达上限"}
    redis.sadd(key, date)
    return {'code': 0, 'msg': "补签成功"}
Esempio n. 7
0
def do_create_total(redis):
    count = 0
    for key in redis.keys(FORMAT_LOGIN_DATE_TABLE4FISH%('*')):
        count+=convert_util.to_int(redis.scard(key))

    print 'do_create_total  total[%s]'%(count)
    redis.set("fish:login:per:day:total",count)
Esempio n. 8
0
def getGoldOperateInfos(redis, selfUid, startDate, endDate, niuniu_type):
    prredis = getPrivateRedisInst(redis, MASTER_GAMEID)
    try:
        startDate = datetime.strptime(startDate, '%Y-%m-%d')
        endDate = datetime.strptime(endDate, '%Y-%m-%d')
    except:
        weekDelTime = timedelta(7)
        weekBefore = datetime.now() - weekDelTime
        startDate = weekBefore
        endDate = datetime.now()
    deltaTime = timedelta(1)
    res = []
    while startDate <= endDate:
        dateStr = endDate.strftime('%Y-%m-%d')
        gameid = '555'
        if niuniu_type == '1':
            gameid = '555'
        elif niuniu_type == '2':
            gameid = '556'
        elif niuniu_type == '3':
            gameid = '666'
        if prredis.exists(GOLD_OPERATE % (gameid, dateStr)):
            info = prredis.hgetall(GOLD_OPERATE % (gameid, dateStr))
            info['online_user_max'] = redis.hget(
                GOLD_ONLINE_MAX_ACCOUNT_TABLE % (gameid, dateStr), 'count')
            info['date'] = dateStr
            info['buy_gold_total'] = redis.get(DAILY_GOLD2_SUM % dateStr)
            info['buy_money'] = redis.get(DAILY_GOLD2_MONEY_SUM % dateStr)
            info['buy_money'] = float(
                info['buy_money']) / 100 if info['buy_money'] else 0
            info['buy_gold_count'] = redis.scard(DAILY_USER_GOLD2_SET %
                                                 dateStr)
            info['buy_gold_people_num'] = 'buy_record_info?date=%s' % dateStr
            room_num = 0
            if datetime.now().strftime("%Y-%m-%d") == dateStr:
                info['online_user'] = redis.scard(GOLD_ONLINE_ACCOUNT_SET %
                                                  gameid)
                for roomid in redis.smembers(GOLD_ONLINE_ROOM_SET % gameid):
                    room_table = ROOM2SERVER % roomid
                    pl_count = redis.hget(room_table, 'playerCount')
                    if not pl_count or pl_count <= '0':
                        continue
                    room_num += 1
                info['room_count'] = room_num
            res.append(info)
        endDate -= deltaTime
    return {"count": 1, "data": res}
Esempio n. 9
0
    def _handle_message(self, msg):
        """
        Forwards messages from Redis to the players directly connected to this
        instance.
        """
        self._debug('RECEIVED - {}', extra=[str(msg)])
        if msg['type'] != 'message' or msg['channel'] != self.topic:
            return  # Ignore messages we don't need

        msg = json_loads(msg['data'])

        # If we have the artist, we're responsible for adjusting game state
        must_pass = False
        artist = self._get_artist()
        score = None
        guesser = None
        if self._has_artist(artist):
            if msg.verb == 'GUESSED':
                if msg.player_name == artist:
                    self._error('artist ({}) submitted a guess',
                                extra=[artist])
                else:
                    word = redis.get(self.word_key)
                    # TODO: Correct is only set for clients connected to this instance.
                    msg.correct = word.lower() == msg.word.lower()
                    if msg.correct:
                        guesser = msg.player_name
                        score = redis.zincrby(self.players_key,
                                              msg.player_name, 1)
                        word_won(word)
                        must_pass = True
            elif msg.verb == 'SKIPPED':
                if msg.player_name == artist:
                    self._error('artist ({}) voted to skip', extra=[artist])
                else:
                    voted = redis.scard(self.skip_key)
                    total = redis.zcard(self.players_key) - 1

                    if voted * 2 > total:
                        must_pass = True
            elif msg.verb == 'ENDED':
                if msg.player_name == artist:
                    must_pass = True
                # TODO: Player name will be sent on other instances
                del msg.player_name

        # Repeat the message to all players
        for p in self.players:
            if msg.verb == 'PASSED' and msg.player_name == p.name:
                # Add the word to the passed message for the correct player
                special = Message(msg)
                special.word = redis.get(self.word_key)
                gevent.spawn(p.send, special)
            else:
                gevent.spawn(p.send, msg)

        if must_pass:
            self._pass_turn(artist, guesser=guesser, score=score)
Esempio n. 10
0
def set_cards_participant(hash_position: str) -> None:
    """
    Cria as cartelas do participante.

    Parameters:
        hash_position: número do usuário.
    """
    while redis.scard(CARD + hash_position) < 15:
        redis.sadd(CARD + hash_position, redis.srandmember(CARDS))
Esempio n. 11
0
    def _handle_message(self, msg):
        """
        Forwards messages from Redis to the players directly connected to this
        instance.
        """
        self._debug('RECEIVED - {}', extra=[str(msg)])
        if msg['type'] != 'message' or msg['channel'] != self.topic:
            return                              # Ignore messages we don't need

        msg = json_loads(msg['data'])

        # If we have the artist, we're responsible for adjusting game state
        must_pass = False
        artist = self._get_artist()
        score = None
        guesser = None
        if self._has_artist(artist):
            if msg.verb == 'GUESSED':
                if msg.player_name == artist:
                    self._error('artist ({}) submitted a guess', extra=[artist])
                else:
                    word = redis.get(self.word_key)
                    # TODO: Correct is only set for clients connected to this instance.
                    msg.correct = word.lower() == msg.word.lower()
                    if msg.correct:
                        guesser = msg.player_name
                        score = redis.zincrby(self.players_key, msg.player_name, 1)
                        word_won(word)
                        must_pass = True
            elif msg.verb == 'SKIPPED':
                if msg.player_name == artist:
                    self._error('artist ({}) voted to skip', extra=[artist])
                else:
                    voted = redis.scard(self.skip_key)
                    total = redis.zcard(self.players_key) - 1

                    if voted * 2 > total:
                        must_pass = True
            elif msg.verb == 'ENDED':
                if msg.player_name == artist:
                    must_pass = True
                # TODO: Player name will be sent on other instances
                del msg.player_name

        # Repeat the message to all players
        for p in self.players:
            if msg.verb == 'PASSED' and msg.player_name == p.name:
                # Add the word to the passed message for the correct player
                special = Message(msg)
                special.word = redis.get(self.word_key)
                gevent.spawn(p.send, special)
            else:
                gevent.spawn(p.send, msg)

        if must_pass:
            self._pass_turn(artist, guesser=guesser, score=score)
Esempio n. 12
0
def remove_member(number, sourceId):
    if redis.scard(number) == 1:
        redis.srem(number, sourceId)
        redis.delete(number + '_member')
    else:
        redis.srem(number, sourceId)

    redis.hset(sourceId, 'current', '-')
    redis.hset(sourceId, 'voted', 'N')
    redis.hdel(sourceId, 'status')
Esempio n. 13
0
def about_handler(message):
    kb = create_about_keyboard()
    count_users = redis.scard('unique_users')
    text = get_about_text(count_users)
    if type(message) == telebot.types.Message:
        bot.send_message(message.chat.id, text, reply_markup=kb, disable_web_page_preview=True)
    else:
        try:
            bot.edit_message_text(text, message.message.chat.id, message.message.message_id,
                                  disable_web_page_preview=True,
                                  reply_markup=kb)
        except ApiException:
            pass
Esempio n. 14
0
def main():
    while True:
        data,newCount = dataHandle()#整理后的数据
        sumCount = redis.scard(listKey) #获取新数据总量
        if newCount<=0:
            print('本次未获取到新数据;总的新数据:'+str(sumCount))
            time.sleep(offtime)
            continue

        tabs.insert_many(data) #插入数据库
        
        print('总爬取次数:'+str(allCount))
        print('本次获取新数据:'+str(newCount))
        print('总的新数据:'+str(sumCount))
        time.sleep(outtime)
Esempio n. 15
0
def m(m):
  try:
    if (m.from_user.id) == admin:
       if m.text == "/stats":
          ms = redis.scard('mbrs_bot')
          bot.send_message(m.chat.id, '👥Members : <code>{}</code>'.format(ms),parse_mode='HTML')
       if re.match("^(/ban) (.*)", m.text):
          mn = re.match("^(/ban) (.*)", m.text)
          redis.sadd("bans", mn.group(2))
          bot.send_message(m.chat.id, "🤖کاربر {} از ربات مسدود شد.".format(mn.group(2)))
          bot.send_message(mn.group(2), "🔰شما در این ربات مسدود شدید.")
       if re.match("^(/unban) (.*)", m.text):
          mn = re.match("^(/unban) (.*)", m.text)
          redis.srem('bans',mn.group(2))
          bot.send_message(m.chat.id, "🤖کاربر {} ازاد شد.".format(mn.group(2)))
          bot.send_message(mn.group(2), "🔰شما از مسدودیت در این ربات ازاد شدید.")
  except Exception as e:
     print e
Esempio n. 16
0
def refresh_board(number):
    redis.delete(number + '_member')
    data = redis.smembers(number)
    i = 1
    for value in data:
        redis.hset(number + '_member', i, value)
        i += 1

    push_all(
        number,
        TextSendMessage(
            text='もう1回やる?\uD83D\uDE03 抜ける人は 退出する ボタンを押してね\uD83D\uDE4F'))
    push_all(
        number,
        TextSendMessage(text='投票No.' + str(number) + ' (参加者' +
                        str(redis.scard(number)) + '人)の投票板です\uD83D\uDE04\n' +
                        '5秒間投票をスタートするなら 投票開始≫ ボタンを押してね\uD83D\uDE03'))
    push_all(number, generate_planning_poker_message(number))
Esempio n. 17
0
 def crawling(self, homepage):
     # 循环条件:抓取深度不超过crawl_deepth
     while self.current_deepth <= self.crawl_deepth:
         # 循环条件:待抓取的链接不空
         print(self.UrlsEnmpy())
         print(int(redis.scard(deepspider.redis_queue)))
         while self.UrlsEnmpy():
             # 队头url出队列
             visitUrl = redis.spop(deepspider.redis_queue)
             if visitUrl is None or visitUrl == "":
                 continue
             # 将url放入已访问的url中 redis_cralw 数据库
             redis.sadd(deepspider.redis_cralw, com.md5_url(visitUrl))
             print(visitUrl)
             print(self.current_deepth)
             # 获取超链接
             links = self.getHyperLinks(visitUrl, homepage)
         # 未访问的url入列
         for link in links:
             redis.sadd(deepspider.redis_cralw, link)
             # print(link)
         self.current_deepth += 1
Esempio n. 18
0
def push_result_message(vote_num):
    push_all(
        vote_num,
        TextSendMessage(
            text='\uD83C\uDF1F\uD83C\uDF1F結果発表\uD83C\uDF1F\uD83C\uDF1F'))

    answer_count = redis.hlen('res_' + vote_num)
    if answer_count == 0:
        push_all(vote_num, TextSendMessage(text='投票者ゼロでした\uD83D\uDE22'))
        return

    data = redis.hvals('res_' + vote_num)
    answer_count = 0
    for value in data:
        answer_count += int(value)

    member_count = redis.scard(vote_num)
    nonvote = 0
    if member_count > answer_count:
        nonvote = member_count - answer_count
        push_all(vote_num, TextSendMessage(text='(棄権' + str(nonvote) + '人)'))

    result_list = generate_result_list(vote_num)
    one_str = result_list[0]
    two_str = result_list[1]
    three_str = result_list[2]

    push_all(vote_num, TextSendMessage(text='3位は・・・'))
    time.sleep(RESULT_DISPLAY_TIMEOUT)
    push_all(vote_num, TextSendMessage(text=three_str))
    time.sleep(RESULT_DISPLAY_TIMEOUT)
    push_all(vote_num, TextSendMessage(text='2位は・・・'))
    time.sleep(RESULT_DISPLAY_TIMEOUT)
    push_all(vote_num, TextSendMessage(text=two_str))
    time.sleep(RESULT_DISPLAY_TIMEOUT)
    push_all(vote_num, TextSendMessage(text='\uD83C\uDF1F1位\uD83C\uDF1Fは・・・・'))
    time.sleep(RESULT_DISPLAY_TIMEOUT)
    push_all(vote_num, TextSendMessage(text=one_str))
Esempio n. 19
0
def getOnlineOperateInfos(redis):
    prredis = getPrivateRedisInst(redis, MASTER_GAMEID)
    # 总当前在线人数
    online_people_sum = redis.scard(GOLD_ONLINE_ACCOUNT_SET_TOTAL)
    # 当前在线房间数
    online_room_num = 0
    for roomid in redis.smembers(GOLD_ONLINE_ROOM_SET_TOTAL):
        room_table = ROOM2SERVER % roomid
        pl_count = redis.hget(room_table, 'playerCount')
        if not pl_count or pl_count == '0':
            continue
        online_room_num += 1
    # online_room_num = redis.scard(GOLD_ONLINE_ROOM_SET_TOTAL)
    # 当前玩家金币总数
    user_current_gold_sum = 0
    for account in prredis.smembers(GOLD_ACCOUNT_SET_TOTAL):
        user_table = redis.get(FORMAT_ACCOUNT2USER_TABLE % account)
        if not user_table:
            continue
        gold = redis.hget(user_table, 'gold')
        gold = int(gold) if gold else 0
        user_current_gold_sum += gold
    return online_people_sum, online_room_num, user_current_gold_sum
import redis
import pika
#get message from redis then send to rabbitmq

mqconn = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = mqconn.channel()
channel.queue_declare(queue='StudyStatus')

redis = redis.Redis(host='10.100.134.160',port=6380,db=1)
redisKey = "student.6510000"
while (redis.scard(redisKey)>0):
      messagebody = redis.spop(redisKey)
      channel.basic_publish(exchange='',routing_key='StudyStatus',\
                                        body=messagebody)

mqconn.close()
      
Esempio n. 21
0
redis = redis.StrictRedis()
mongo = pymongo.MongoClient()
collection = mongo.twitter.tweets
user_collection = mongo.twitter.users

collection.create_index([('id', pymongo.ASCENDING)], unique=True)
user_collection.create_index([('id', pymongo.ASCENDING)], unique=True)

initialUsers = [
    27260086,
]

redis.sadd('users', *initialUsers)

while redis.scard('users') > 0:
    redis.delete('user_connections')
    uid = redis.spop('users')

    try:
        user = api.get_user(user_id=uid)
    except tweepy.TweepError as e:
        print(e)
        print('Error when looking up user {}'.format(uid))
        continue

    if user.protected:
        print('Skipping protected user {} (@{})'.format(
            user.name, user.screen_name))
        redis.sadd('users_done', uid)
        continue
Esempio n. 22
0
def handle_text_message(event):
    text = event.message.text
    sourceId = getSourceId(event.source)
    matcher = re.match(r'^#(\d+) (.+)', text)

    if text == 'join':  #メンバ集め
        number = str(redis.get('maxVoteKey')).encode('utf-8')
        join_mutex = Mutex(redis, JOIN_MUTEX_KEY_PREFIX + number)
        join_mutex.lock()
        redis.sadd(number, sourceId)
        redis.hset(number + '_member', redis.scard(number), sourceId)
        redis.hset(sourceId, 'current', number)

        if join_mutex.is_lock():
            time.sleep(JOIN_MUTEX_TIMEOUT)

            push_all(
                number,
                TextSendMessage(text='投票No.' + str(number) + ' (参加者' +
                                str(redis.scard(number)) +
                                '人)の投票板です\uD83D\uDE04\n' +
                                '5秒間投票をスタートするなら 投票開始≫ ボタンを押してね\uD83D\uDE03'))
            push_all(number, generate_planning_poker_message(number))
            join_mutex.unlock()
            redis.incr('maxVoteKey')

    elif text == 'add':
        current = redis.hget(sourceId, 'current')
        if current != '-':
            remove_member(current, sourceId)
        line_bot_api.push_message(
            sourceId, TextSendMessage(text='参加したい投票No.を入力してください\uD83D\uDE03'))
        redis.hset(sourceId, 'status', 'number_wait')

    elif matcher is not None:
        number = matcher.group(1)
        value = matcher.group(2)
        current = redis.hget(sourceId, 'current').encode('utf-8')
        if current != number:
            line_bot_api.push_message(
                sourceId, TextSendMessage(text='投票板が古かった?もう一度お願いします!'))
            line_bot_api.push_message(sourceId,
                                      generate_planning_poker_message(current))
            return

        if value == '11':  #退出
            resign_operation(number, sourceId)
            return

        status = redis.hget('status_' + number, 'status')
        if status is None:
            vote_mutex = Mutex(redis, VOTE_MUTEX_KEY_PREFIX + number)
            if value == '0':  #開始
                vote_mutex.lock()
                if vote_mutex.is_lock():
                    push_all(
                        number,
                        TextSendMessage(
                            text='5秒間投票をはじめます\uD83D\uDD52名前をタップして投票どうぞ\u2755'))
                    redis.hset('status_' + number, 'status', 'inprogress')
                    time.sleep(2)
                    push_all(number, TextSendMessage(text='あと3秒!'))
                    time.sleep(3)
                    push_all(
                        number,
                        TextSendMessage(text='-\uD83D\uDD52投票終了\uD83D\uDD52-'))
                    vote_mutex.unlock()
                    redis.delete('status_' + number)
                    member_list = redis.smembers(number)
                    for memberid in member_list:
                        redis.hset(memberid, 'voted', 'N')

                    push_result_message(number)
                    #結果発表後の結果クリア
                    redis.delete('res_' + number)
                    refresh_board(number)
                    return
            else:
                line_bot_api.push_message(
                    sourceId,
                    TextSendMessage(text='投票開始ボタンがまだ押されていないようです\uD83D\uDCA6'))
        else:
            if redis.hget(sourceId, 'voted') == 'Y':
                line_bot_api.push_message(
                    sourceId,
                    TextSendMessage(text='すでに投票済です・・結果集計まで待ってね\uD83D\uDE04'))
                return
            elif value == '0':
                line_bot_api.push_message(
                    sourceId,
                    TextSendMessage(text='もうはじまってるよ、誰かに投票して!\uD83D\uDE04'))
            elif value == '11':
                resign_operation(number, sourceId)
            else:
                #異常値処理省略
                redis.hincrby('res_' + number, value)
                redis.hset(sourceId, 'voted', 'Y')
    else:
        current = redis.hget(sourceId, 'current')
        if current is not None and current != '-':
            display_name = getUtfName(line_bot_api.get_profile(sourceId))
            push_all_except_me(current, sourceId,
                               TextSendMessage(text=display_name + ':' + text))
        elif redis.hget(sourceId, 'status') == 'number_wait':
            if text == '0':
                redis.hdel(sourceId, 'status')
                line_bot_api.push_message(
                    sourceId,
                    TextSendMessage(
                        text='始めるときは参加!ボタンをみんなと一緒に押してね\uD83D\uDE04'))
                line_bot_api.push_message(sourceId, generateJoinButton())
            elif redis.exists(text) == 1:
                redis.hdel(sourceId, 'status')
                redis.sadd(text, sourceId)
                redis.hset(sourceId, 'current', text)
                if redis.hget('status_' + text, 'status') is None:
                    redis.hset(text + '_member', redis.scard(text), sourceId)
                    push_all(text,
                             TextSendMessage(text='メンバーが増えたので再度投票板を表示します'))
                    push_all(
                        text,
                        TextSendMessage(
                            text='投票No.' + str(text) + ' (参加者' +
                            str(redis.scard(text)) + '人)の投票板です\uD83D\uDE04\n' +
                            '5秒間投票をスタートするなら 投票開始≫ ボタンを押してね\uD83D\uDE03'))
                    push_all(text, generate_planning_poker_message(text))
            else:
                line_bot_api.push_message(
                    sourceId,
                    TextSendMessage(
                        text=
                        '見つからないです・・参加したい投票No.を再入力してね\uD83D\uDE22(初期画面に戻るなら 0 )'
                    ))
Esempio n. 23
0
 def crawl():
     if int(redis.scard(domain_run.redis_queue)) > 0:
         print(
             str(redis.scard(domain_run.redis_queue)) +
             ' links in the queue')
Esempio n. 24
0
 def UrlsEnmpy():
     return int(redis.scard(domain_run.redis_queue)) == 0
Esempio n. 25
0
def stats(m):
    if str(m.from_user.id) == is_sudo:
        stats = redis.scard('startmebot')
        bot.send_message(m.chat.id, "`تعداد کاربران`👇\n*{}*".format(stats), parse_mode="Markdown")
Esempio n. 26
0
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker


# get student/studentcode in learning on base db , then send into redis use set type
engine = create_engine('oracle://*****:*****@10.100.134.177:1521/orcl')
tables = ['eas_schroll_student']
metadata=MetaData()
metadata.reflect(engine,only=tables)
Base = automap_base(metadata=metadata)
Base.prepare()
student = Base.classes.eas_schroll_student
#print(student.__table__)
# get data then import redis only save in redis db1
redis = redis.Redis(host='10.100.134.160',port=6380,db=1)
DBsession = sessionmaker(bind=engine)
session = DBsession()
redisKey = "student.6510000"
for studentcode in session.query(student.studentcode).filter_by(learningcentercode='6510000').\
                                                      filter_by(enrollmentstatus='1'):
    #print(studentcode[0])
    redis.sadd(redisKey,studentcode[0])
session.close()
print (redis.scard(redisKey))






Esempio n. 27
0
def send_welcome(message):
    if is_sudo(message.from_user.id):
        bot.reply_to(message, redis.scard("@PaydarTeamSupportBot"))
    else:
        bot.reply_to(message, "siktir |:")
Esempio n. 28
0
import redis
import pika
#get message from redis then send to rabbitmq

mqconn = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = mqconn.channel()
channel.queue_declare(queue='StudyStatus')

redis = redis.Redis(host='10.100.134.160', port=6380, db=1)
redisKey = "student.6510000"
while (redis.scard(redisKey) > 0):
    messagebody = redis.spop(redisKey)
    channel.basic_publish(exchange='',routing_key='StudyStatus',\
                                      body=messagebody)

mqconn.close()
Esempio n. 29
0
def AddStudent2redis():
    # this date will into redis and delete his select course
    sql = 'select studentcode from eas_schroll_student where to_number(substr(learningcentercode,1,3))=440 and rownum<20000'
    for row in engine.execute(sql):
        redis.sadd('newstudents',row.studentcode)
    return redis.scard('newstudents')
Esempio n. 30
0
def send_welcome(message):
    if is_sudo(message.from_user.id):
        bot.reply_to(message, redis.scard("porsmanbot"))
    else:
        bot.reply_to(message, "siktir |:")
Esempio n. 31
0
def queue_size(queue_name):
    return redis.scard(queue_name)
Esempio n. 32
0
 def UrlsEnmpy(self):
     return int(redis.scard(deepspider.redis_queue)) > 0