Пример #1
0
 private static void StopServices(Updater updater, Server server, BazaarUpdater bazzar)
 {
     Console.WriteLine("Stopping");
     server.Stop();
     Indexer.Stop();
     updater.Stop();
     bazzar.Stop();
     System.Threading.Thread.Sleep(500);
     Console.WriteLine("done");
 }
Пример #2
0
        private static void FullServer()
        {
            Console.WriteLine($"\n - Starting FullServer {version} - \n");
            Console.Write("Key: " + apiKey);
            FullServerMode = true;
            Indexer.MiniumOutput();

            server = new Server();
            Task.Run(() => server.Start()).ConfigureAwait(false);
            Task.Run(() => CreateHost(new string[0])).ConfigureAwait(false);

            var mode = SimplerConfig.Config.Instance["MODE"];

            LightClient = mode == "light";
            if (LightClient)
            {
                ItemDetails.Instance.LoadLookup();
                RunIsolatedForever(async() =>
                {
                    await Task.Delay(TimeSpan.FromMinutes(1));
                    await SearchService.Instance.SaveHits();
                }, "saving hits failed");
                System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
            }

            updater = new Updater(apiKey);
            updater.UpdateForEver();

            // bring the db up to date
            GetDBToDesiredState();
            ItemDetails.Instance.LoadFromDB();
            SubscribeEngine.Instance.LoadFromDb();
            var redisInit = MakeSureRedisIsInitialized();

            Console.WriteLine("booting db dependend stuff");

            var bazzar = new BazaarUpdater();

            bazzar.UpdateForEver(apiKey);
            RunIndexer();

            Flipper.FlipperEngine.diabled = FileController.Exists("blockFlipper");
            for (int i = 0; i < 4; i++)
            {
                RunIsolatedForever(Flipper.FlipperEngine.Instance.ProcessPotentialFlipps, $"flipper worker {i} got error");
            }

            NameUpdater.Run();
            SearchService.Instance.RunForEver();
            CacheService.Instance.RunForEver();
            Task.Run(async() =>
            {
                await Task.Delay(TimeSpan.FromMinutes(3));
                await ItemPrices.Instance.BackfillPrices();
            }).ConfigureAwait(false);;


            onStop += () =>
            {
                StopServices(updater, server, bazzar);
            };
            try
            {
                CleanDB();
            }
            catch (Exception e)
            {
                Console.WriteLine($"Cleaning failed {e.Message}");
            }

            redisInit.GetAwaiter().GetResult();

            System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
        }
Пример #3
0
        /// <summary>
        /// returns true if application should be closed
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        static bool runSubProgram(char mode)
        {
            switch (mode)
            {
            case 't':
                // test
                //NotificationService.Instance.NotifyAsync("dPRj0dnG2NcY_kMTdNbpjz:APA91bHJINgv1SjuUlv-sGM21wLlHX5ISC5nYgl8DKP2r0fm273Cs0ujcESW6NR1RyGvFDtTBdQLK0SSq5TY_guLgc57VylKk8AAnH_xKq3zDIrdA1F6UhJNTu-Q0wNDKKIIQkYoVcyj","test","click me","https://sky.coflnet.com").Wait();
                SetGoogleIdCommand.ValidateToken("eyJhbGciOiJSUzI1NiIsImtpZCI6IjI1MmZjYjk3ZGY1YjZiNGY2ZDFhODg1ZjFlNjNkYzRhOWNkMjMwYzUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXpwIjoiNTcwMzAyODkwNzYwLW5sa2dkOTliNzFxNGQ2MWFtNGxwcWRoZW4xcGVuZGR0LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiNTcwMzAyODkwNzYwLW5sa2dkOTliNzFxNGQ2MWFtNGxwcWRoZW4xcGVuZGR0LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTAxOTkzNTcwNzI0MDg4NDMyMjk4IiwiZW1haWwiOiJ0by5jb2ZsbmV0QGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiYWdLN21RM2YySFZQclZNQ3l1UVVmdyIsIm5hbWUiOiJFa3dhdiBDb2ZsbmV0IiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hLS9BT2gxNEdobEx6TjV5U1o3VDZWYnpYRnFhUlR4c3dNRXJLaW1VQk1uem41Nz1zOTYtYyIsImdpdmVuX25hbWUiOiJFa3dhdiIsImZhbWlseV9uYW1lIjoiQ29mbG5ldCIsImxvY2FsZSI6ImRlIiwiaWF0IjoxNjEwMjk4MTE5LCJleHAiOjE2MTAzMDE3MTksImp0aSI6ImIzMWYzODUwNDMwYjNhOWMxNTQ5YTRjMDFiNTFiNTBlZjBhZTkwYTAifQ.cvsqp0GaYca---qkBAm-nS3QI-x_ZTGkzZh7sk-SsYctubikHqJz9VpafY_ih88ouOFTg_CWHKPMvS9dTrR8T4W_iY65cYp2hxsc-iMignDBgxbP6KlUCm3MvpRTHTdLAtL3Eq4JeXAL6_BN21AetRMaOhsWMgvz6yprhTkirOgFSuDt386Q8NXr19csjDhAW6bb2bRwEYJp4ZlBXD77zfzP_kZaF2y671M_lZUXnrqKrDqF7sFL2Jx4r6htKV_e86IuKhx0N1ttNTuEOeqccIZHdRQasivVO9Nq0twjhFIWn-5-azkPyz0VstxzIuYc7mTi2LSVjF4QDl-aLiOlPQ");
                break;

            case 'b':
                //var key = System.Text.Encoding.UTF8.GetString (FileController.ReadAllBytes ("apiKey")).Trim ();
                BazaarUpdater.NewUpdate(apiKey).Wait();
                break;

            case 'f':
                FullServer();
                break;

            case 's':
                var server = new Server();
                server.Start().Wait();
                break;

            case 'u':
                var updater = new Updater(apiKey);
                updater.Update().Wait();
                break;

            case '7':
                displayMode = false;
                StorageManager.Migrate();
                var auction = StorageManager.GetOrCreateAuction("00e45a19c27848829612be8edf53bd71");
                Console.WriteLine(auction.ItemName);
                //Console.WriteLine(ItemReferences.RemoveReforges("Itchy Bat man"));
                break;

            case 'i':
                Flipper.FlipperEngine.Instance.Test();
                break;

            case 'p':
                Indexer.LastHourIndex().Wait();
                //StorageManager.Migrate();
                break;

            case 'n':
                Console.WriteLine(NBT.Pretty("H4sIAAAAAAAAAHVUS28jRRAux8mu4ywbxIkLohdtRCKvkxnb49cByXGcxIJ1IvJYblbPTHmmyUyP6elxyJEbJ84cFgkJpEgcOSMh5afkhyCqZ5woHLjMo/qrr756dRVgHUqiCgClFVgRfqlegrVhkkldqkJZ82AdVlF64RJRjhYRlHMkVKAEGxfSVcivuBthqQzrx8LHw4gHKcH/qcJzX6TziN8QyVeJwgpZP4FP7247R8gVO/PI1md3t75j9+jV3bYbVmsnB5xphTLQoTn2araTH9eand2es0MsNkGOkUcFgNcalsOOT+kTt2stiz53CgfH7u62zdEOfE4uBzhDmWLh07UKfMNaghtWY5fCdwk4lhqjSASU+hJtN42G3vYEPZVo4bGa/ejYbNm7Tq6LgvQon7vb6J1I/SRml2+M1wHOdcgoJyqPYuPxGF6R9RC5Dun/kFMoGbBvcuyRSq4JfAnm55RioadFIpdMX+O32QIl10gIgK272/ZhFkXsDDXbT2SW9tloNhOeQKmZVlxIYobPKKXRAtUNUbgmj86Qa+4lsZuyCBcYpW9MuI4ORcq4ihPF5gI9ZAERpKxGBWhswQt6ESjVXKe7FNywHikuNfn4vjAqecRcowJT5vIU/RxD4m+STLEUI8oFfeZnMkCyehFP01fE9Jpk7aNKUV0R3hS8QzG9hnX/yw/sYRRgSCjTdFRPQNy2tswndV8h9QsVz8vFpf9A0yKa31kxLqZi7lse4BMK17Hu3//EnvYcqIsdOjnn8qki3iSqH9lyjMiWh1HoZx5l7POYiMExheRXKJlb1DvXN6OaIvfCZWGpICzkC2T4XSbmTMxgj0DGyhWyUGjjTNPBUh4jixOZapqUa0EdkmZsbQte0su0A71E+tSQLyjWQHnhf8rTc+5//o0NFREOQ06ZPdhtOvi1ODgodAN8fHdL4qPR6XjIDi4mR6OTCds/OTk/K8Oal0SJgr//+rMCqxPSZCrkPC7DwOdzLSid/SShcaCpvH//x/89oQqbo+9pOAeaNsLNNKZl+DBM9HSe0GwlU8/cP6SnWnmIu2H37L7d7fbtTrcClTjxxUyggopcKijDR8upmgqN8TSfaqJYq8B6okQg5DkP4PnF5MvJybtJJb/AXg4OBqfn48vRNE+yCi/MTUfzHNPykKQPfLO207RYWyIrl2Ezi7SIaf2m1/mCmxBknRWrPJ0Vq2y0l6GqHpe1gD0L8t0ufqrzx902BrpOV7OMVL3mLbvddjtOHTvYrrfsZrfOXR/rnPdmlt12vRl3yZ3LhYimZtXIfYPSJF1IuxnPYbO713D2GhZr922bDd4CrMCzxy7Dvy+PLTX1BQAA"));
                //Console.WriteLine (JsonConvert.SerializeObject (.Instance.Items.Where (item => item.Value.AltNames != null && item.Value.AltNames.Count > 3 && !item.Key.Contains("DRAGON")).Select((item)=>new P(item.Value))));
                break;

            case 'g':
                var ds = new DataSyncer();
                ds.Sync("e5bac11a8cc04ca4bae539aed6500823");
                break;

            case 'm':
                Migrator.Migrate();
                break;

            default:
                return(true);
            }
            return(false);
        }