Esempio n. 1
0
        public TestForm()
        {
            InitializeComponent();

            _beanstalkdClient = ManagedBeanstalkdClientFactory.Create("192.168.1.254");
            _beanstalkdClient.Watch(TestTube);
            _beanstalkdClient.Ignore("default");

            Task.Factory.StartNew(PullJobProcedure);
        }
        public void ConnectionTest()
        {
            var client = ManagedBeanstalkdClientFactory.Create(BeanstalkdHost);
            var retry  = 10;

            Assert.AreEqual("default", client.CurrentTube);
            Assert.AreEqual(TestTube, client.Use(TestTube));
            Assert.AreEqual(TestTube, client.CurrentTube);

            Assert.AreEqual(2, client.Watch(TestTube));
            Assert.True(client.Ignore("default"));
            var watchList = client.WatchList;

            Assert.AreEqual(1, watchList.Count);
            Assert.AreEqual(TestTube, watchList[0]);

            while (true)
            {
                try
                {
                    Thread.Sleep(1000);
                    Assert.AreEqual(TestTube, client.CurrentTube);
                    watchList = client.WatchList;
                    Assert.AreEqual(1, watchList.Count);
                    Assert.AreEqual(TestTube, watchList[0]);
                    Job job;
                    Assert.AreEqual(ReserveStatus.Timeout, client.Reserve(0, out job));
                    Assert.Null(job);
                }
                catch (BeanstalkdException ex)
                {
                    if (--retry == 0)
                    {
                        break;
                    }
                    Console.WriteLine("Error: {0}", ex.Code);
                }
            }
            client.Dispose();
        }