Feb. 9th, 2012

juan_gandhi: (Default)
Brad just asked Nick and Ross, have you heard of that Russian industrial designer that invented a keyboard with all the keys being displays?
juan_gandhi: (Default)
Уже несколько дней разбираюсь, какого хера наши селф-тесты не всегда проходят. Доковырялся до факта, что если в базу записать прямо локально в коде, а потом локально же прочитать, всё отлично, а если же читать не локально, а через запрос по rabbitMQ (а читаем потом, в моём конкретном случае, в том же сервере и в том же потоке (или нитке?), то записи находит через раз. А если и писать "через запрос", то и записывает в лучшем случае раз из 10. При этом все запросы приходят (у меня все логи записаны).

Теперь, исключительно истины ради, написал класс Health, в котором метод check(String checkName), который вызывает нужный чек. В чеке, разумеется, всё то же чтение той же базы. Как только агента, которому посылаем запрос, заставил выполнять чек перед собственно работой (то же самое чтение) - все тесты проходят. Стописцот раз. А убрать чек - и не проходят.

Для смеху добавлю - база postgres, если это что-то вообще значит.

Не думаю, что мне нужны советы по работе с хибернейтом, но если кто-то просветлён или вдруг постигло озарение, то было бы нехило.

П.С. Ещё обнаружил, что когда убираю задержки в тесте, между куском, который пишет и куском, который читает, то всё "хорошо". Дорогая редакция!!!

П.П.С. Дык небось драйвер-то опять находит какой-нибудь альтернативный "localhost", с ним и беседует вместо моей машинки. И все дела.

(В порядке психологической компенсации, я, кажется, понял, почему хаскель должен быть булев - берём топос, в нём топологию двойного отрицания, и если двойное отрицание оказывается монадой, то топос булев; и я могу доказать, что если всякая монада аппликативна, то двойное отрицание будет монадой. Примерно так.)

такое

Feb. 9th, 2012 11:53 am
juan_gandhi: (Default)
public class Health {
    private static Map<String, Runnable> todos = new ConcurrentHashMap<String, Runnable>();

    public static void addChecker(String name, Runnable todo) {
        todos.put(name, todo);
    }

    public static void removeChecker(String name) {
        todos.remove(name);
    }

    public static void run(String name) {
        Runnable todo = todos.get(name);
        if (todo != null) todo.run();
    }

    public static void check(String name) {
        try {
            run("name");
            Log.debug("Health check '%s' passed.", name);
        } catch (RuntimeException re) {
            Log.error("Health check '%s' failed.", name, re);
        }
    }
}
juan_gandhi: (Default)


Вот почему-то мне кажется, что в наших краях у этой тёти Тани были бы трудности с трудоустройством. Я имею в виду, после такого объявления с ней всяко бы распрощались.

Но характерно. Я-то в 90-м году думал, что таких скоро в России не будет. Это меня там нету, а они остались.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

August 2025

S M T W T F S
      12
3456789
10 11 12 13141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2025 12:41 pm
Powered by Dreamwidth Studios