Exemple #1
0
    def test_task_done_with_restart(self):
        """Test that items are not deleted before task_done."""

        q = SQLiteQueue(path=self.path, auto_commit=False)

        for i in range(1, 11):
            q.put(i)

        self.assertEqual(1, q.get())
        self.assertEqual(2, q.get())
        # size is correct before task_done
        self.assertEqual(8, q.qsize())
        q.task_done()
        # make sure the size still correct
        self.assertEqual(8, q.qsize())

        self.assertEqual(3, q.get())
        # without task done
        del q
        q = SQLiteQueue(path=self.path, auto_commit=False)
        # After restart, the qsize and head item are the same
        self.assertEqual(8, q.qsize())
        # After restart, the queue still works
        self.assertEqual(3, q.get())
        self.assertEqual(7, q.qsize())
    def benchmark_sqlite_write_10000(self):
        """Benchmark sqlite queue by writing <BENCHMARK_COUNT> items."""

        self.path = tempfile.mkdtemp('b_sql_10000')
        q = SQLiteQueue(self.path, auto_commit=False)
        for i in range(BENCHMARK_COUNT):
            q.put('bench%d' % i)
        q.task_done()
 def benchmark_sqlite_read_write_false(self):
     """Writing and reading <BENCHMARK_COUNT> items(1 task_done)."""
     self.path = tempfile.mkdtemp('b_sql_10000')
     q = SQLiteQueue(self.path, auto_commit=False)
     for i in range(BENCHMARK_COUNT):
         q.put('bench%d' % i)
     for i in range(BENCHMARK_COUNT):
         q.get()
     q.task_done()
     assert q.qsize() == 0