কোনও নেটওয়ার্কের সমস্যা থাকলে আমি কীভাবে ইমপথিকে পুনরায় সংযোগ করার চেষ্টা করব


9

আমি ডিফল্টরূপে খোলার অ্যাপ্লিকেশনগুলির তালিকায় সহানুভূতি যুক্ত করেছি এবং এটি শুরু হওয়ার সাথে সাথে এমএসএন-এ স্বয়ংক্রিয়ভাবে সংযোগ স্থাপনের জন্য কনফিগার করা হয়েছে, তবে আমি যখন আমার ল্যাপটপে লগইন করি তখন ওয়াইফাই সংযোগটি প্রস্তুত হতে কয়েক সেকেন্ড সময় নেয়। নেট আপ হওয়ার আগে, সহানুভূতি ইতিমধ্যে শুরু হয়েছে, এমএসএন-তে লগ ইন করার চেষ্টা করেছিল এবং ব্যর্থ হয়েছিল, এবং এর পরে এটি সংযোগ পেতে আমি পাচ্ছি না।

এটিকে সহানুভূতিতে ত্রুটি বলে মনে হচ্ছে, তবে আমি কীভাবে এটির জন্য একটি সমাধান পেতে পারি, বা যদি সম্ভব না হয়, নেটওয়ার্ক চালু না হওয়া পর্যন্ত আমি কীভাবে এটি শুরু করতে বিলম্ব করব?

উত্তর:


6

স্পষ্টতই এটি সহানুভূতির একটি পরিচিত বাগ, তাই আমি কোনও স্ক্রিপ্ট থেকে এমপथी চালু করার সিদ্ধান্ত নিয়েছি যা নেটওয়ার্কটি চালু আছে কিনা তা পরীক্ষা করে দেখায় ( http://www.google.com এ সংযুক্ত হচ্ছে , ইন্টারনেটের আসল হার্টবিট :) যদি নেটওয়ার্কটি কাজ না করে, এটি 5 সেকেন্ডের জন্য ঘুমাবে এবং 30 বার চেষ্টা না করা পর্যন্ত পুনরায় চেষ্টা করবে

এটি স্ক্রিপ্ট (নাম waforfornet.py )

#!/usr/bin/python

from urllib2 import urlopen, URLError
from subprocess import Popen
from time import sleep
from sys import argv

MAX_TRIES = 30
DELAY = 5

if len (argv) < 2:
    print ('Check for network connectivity and run a command once the net is up')
    print ('Tries up to %d times waiting %d seconds between each try' % (MAX_TRIES, DELAY))
    print ('\nUSAGE: python waitfornet.py <command to run>')
else:
    while True:
        MAX_TRIES -= 1
        if MAX_TRIES < 0:
            raise ValueError ('Reached the max iteration count and the net is still down')

        try:
            data = urlopen('http://www.google.com')
        except URLError:
            # if there's a problem connecting to google, that must mean
            # that the net is still down, so sleep 5 seconds and try again
            print ('Internet is down... retrying...')
            sleep (DELAY)
            continue

        # if you got here it means that the urlopen succeded
        pid = Popen([argv[1], ' '.join(argv[1:])]).pid
        break

এবং এইভাবেই আমি এটি "স্টার্টআপ অ্যাপ্লিকেশনগুলি" মেনু থেকে চালু করি:

~/scripts/waitfornet.py empathy

2

দেখে মনে হচ্ছে সহানুভূতির অভ্যন্তরীণভাবে এই জাতীয় জিনিসটি করার জন্য প্যাচ দরকার হতে পারে। তবে আপনার নেটওয়ার্ক থেকে সংযোগ বিচ্ছিন্ন করে এবং পুনরায় সংযোগের মাধ্যমে সঠিক কাজটি করার জন্য আপনার সহানুভূতিকে ডেকে আনা উচিত।

আমার মনে হয় ইমপ্যাথির সাথে বাগগুলি বিভিন্ন সময়ে নেটওয়ার্কের একগুচ্ছ সংযোগকে অস্বীকার করে। তবে এটি "X সেকেন্ডের মধ্যে আবার চেষ্টা করবে" গণনা করা উচিত।

তবে এটি কোডটি নেবে এবং আপনি যদি এটি চান তবে একটি বাগ রিপোর্ট তৈরি করা দরকার।


1

এই সমস্যাটি কাটিয়ে ওঠার জন্য আমি একটি স্ক্রিপ্ট লিখেছিলাম । এই স্ক্রিপ্ট (যা অজগর এবং ডি-বাসের উপর ভিত্তি করে) নেটওয়ার্কটি অনলাইনে থাকাকালীন প্রতিবার নেটওয়ার্কের সাথে সহানুভূতি সংযুক্ত করবে। এমনকি সংযোগটি নীচে নেমে গেলে এবং পুনরায় সংযোগ স্থাপন করলেও স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে আবার সহানুভূতির পুনরায় সংযোগ স্থাপন করবে।

আশা করি আপনি এটি উপভোগ করবেন। আপনার কোনও উন্নতি প্রয়োজন হলে একটি মন্তব্য করুন a

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.