Skip to content

Instantly share code, notes, and snippets.

View kkirsanov's full-sized avatar

Kirill Kirsanov kkirsanov

  • EY
  • Moscow, russia
View GitHub Profile
@kkirsanov
kkirsanov / disk_load.sql
Created November 3, 2017 08:20
Какая табличка чаще всего пишет на диск
WITH
all_tables AS
(
SELECT *
FROM (
SELECT
'all' :: TEXT AS table_name,
sum((coalesce(heap_blks_read, 0) +
coalesce(idx_blks_read, 0) +
coalesce(toast_blks_read, 0) +
import java.io.File
import java.util.UUID
import org.apache.avro.Conversions.DecimalConversion
import org.apache.avro.Conversions.UUIDConversion
import org.apache.avro.Schema
import org.apache.avro.file.DataFileWriter
import org.apache.avro.generic.{GenericData, GenericRecord}
import org.apache.avro.io.DatumWriter
from fastavro import writer, reader
schema = {
'doc': 'A weather reading.',
'name': 'Weather',
'namespace': 'test',
'type': 'record',
'fields': [
{'name': 'station', 'type': 'string'},
{'name': 'time', 'type': 'long'},
from interface import utils as iutils
from rest_framework import status
class PartnerViewSet(viewsets.ModelViewSet):
authentication_classes = (ValidatorOauthAuthentication, )
queryset = im.Partner.objects.all()
serializer_class = PartnerSerializer
def create(self, request, *args, **kwargs):
partner_id, login, password = iutils.create_partner(
@kkirsanov
kkirsanov / migration.py
Created April 27, 2017 09:21
data migrations for django
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-04-04 08:08
from __future__ import unicode_literals
from django.db import migrations
# python manage.py dumpdata > dump.json
def load_fixture(apps, schema_editor):
from django.core.serializers import base, python
from django.core.management import call_command
# Save the old _get_model() function
@kkirsanov
kkirsanov / multitask.py
Created April 26, 2017 09:04
run multiple django managememnt commands simultaneously
# coding=utf8
import logging
import threading
import time
from django.core.management import call_command
from django.core.management.base import BaseCommand
logger = logging.getLogger('multirunner')
version: '2'
services:
zookeeper-1:
image: confluentinc/cp-zookeeper:latest
restart: always
environment:
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ZOOKEEPER_INIT_LIMIT: 5
from confluent_kafka import Consumer, KafkaError
import signal
# корректное завршение по сигналам
canGo = True
def doStop(*args, **kwargs):
global canGo
canGo = False
signal.signal(signal.SIGINT, doStop)
signal.signal(signal.SIGTERM, doStop)
@kkirsanov
kkirsanov / читатель 1
Last active January 19, 2017 09:22
1 писатель пишет числа от 0 до 99 в 1 топик с 4-я партициями, 2 читателя в 1 группе читают одновременно
число(что слал продюсер)-оффсет(смешение в партиции)-партиция
0-0-3
1-0-2
5-1-2
7-2-2
10-3-2
6-1-3
8-2-3
9-3-3
12-4-2
@kkirsanov
kkirsanov / sms.avsc
Last active January 14, 2017 11:55
Кафка
{"namespace": "sms.smsgate.rfi",
"type": "record",
"name": "SMS",
"fields": [
{"name": "message", "type": "string"},
{"name": "operator", "type": "string"},
{"name": "date", "type": "string"}
]
}