Не работает меню Пуск на Windows 10

Испробовано куча рецептов из интернета с правкой реестра, переустановкой компонентов из PowerShell. Не помогло. Нашел свой рецепт. Правда поможет только если у вас заведено несколько пользователей в системе. Или создайте пользователя, и воспользуйтесь им. Суть «ремонта»: нужно скопировать папку C:\Users\<Имя пользователя>\AppData\Local\TileDataLayer\Database\ из того пользователя, под которым «Пуск» работает, в того у которого не работает.

Потоки на Python

На удивление, на такую простую вещь как создание потоков, потратил пару часов, из-за обилия в интернетиках примеров с ошибками в коде. Потому привожу рабочий пример:

#!/usr/local/bin/python
# coding=utf-8
import threading
import time

debug=True
#количество одновременно запускаемых потоков
thread_count=10;

def putlog(txt):
    if (debug==True):
     print txt
def worker(th):
    putlog("--стартовал поток "+str(th));
    i=0
    while i<config.thread_count:
     putlog("--поток "+str(th)+", шаг "+str(i))
     time.sleep(1)
     i=i+1
def main():
    putlog("-скрипт стартовал!");    
    #запускаем потоки
    for i in xrange(thread_count):
	thread = threading.Thread(target=worker, args=(i,)).start()	
    #ждем пока потоки завершатся	
    while threading.active_count() >1:
     putlog("!ждем завершения потоков")	
     time.sleep(1)
    putlog("-скрипт закончил работу!");	 
main()

Результат работы скрипта:

-скрипт стартовал!
--стартовал поток 0
--поток 0, шаг 0
--стартовал поток 1
--поток 1, шаг 0
--стартовал поток 2
 !ждем завершения потоков
--поток 2, шаг 0
--поток 0, шаг 1
!ждем завершения потоков
--поток 1, шаг 1
--поток 2, шаг 1
--поток 0, шаг 2
!ждем завершения потоков--поток 1, шаг 2

--поток 2, шаг 2
!ждем завершения потоков
-скрипт закончил работу

Отправка сообщения на email по smtp, в utf8 с телом в html

import smtplib   
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

		 msg = MIMEMultipart('alternative')
		 html_body="Внимание! У вас есть задача (№"+str(id)+") в sbss, которая уже длительное время находится в статусе ожидания! Через 3 дня она будет автоматически закрыта.. <br/><a href=https://oeirfoeriferoife.ru>"+name+"</a>".encode('utf-8')
		 msg.set_charset("utf-8")
		 msg['Subject'] = "Уведомление о длительной задаче №"+str(id);
		 msg['From'] = sbss_from_email
		 msg['To'] = m_arr["email"]		 
		 part = MIMEText(html_body, 'html', 'UTF-8')
		 msg.attach(part)
		 s = smtplib.SMTP(sbss_from_server)
		 s.login(sbss_from_email,sbss_from_pass);
		 s.set_debuglevel(1);
		 s.sendmail(sbss_from_email, m_arr["email"], msg.as_string())
		 s.quit()

Python и ошибка InternalError(-1, ‘Unread result found.’, None))

Сия ошибка возникает когда одно и тоже соединение используется в «вложенных» запросах.  Хотя курсоры разные. Т.е. внутри проходу по циклу cursor.fetchone(), выполняется еще один запрос с этим же идентификатором соединения, но с другим курсором.

Решение: курсор создаем с «буфером»: cursor = sbss.cursor(dictionary=True,buffered=True)

Например:

	sql="select * from requests where datediff(now(),lastpost)=%s-3 and statusid=3";
	cursor = sbss.cursor(dictionary=True,buffered=True)
	cursor.execute(sql,[sbss_from_count_days]);
	row = cursor.fetchone()	
	while row is not None:
	    id=row["id"];	
	    author_id=row["author_id"];	
	    responsible_man=row["responsible_man"];	
	    name=row["name"];		    
	    func.putlog("----нашли близкий к просрочке requests :"+str(id))	    	    
	    m_arr=func.GetSBSSManagerInfo(sbss,responsible_man);
	    row = cursor.fetchone()

Обмен информацией между серверами на PHP

Задача: получить данные с сервера, без использования apache

Решение: воспользуемся сокетами на php, а точнее поднимем свой «веб сервер», единственной функцией которго, будет на любой запрос отвечать требуемыми нам данными

Код сервера:

#!/usr/local/bin/php
<?php

function GetCurrentTraf($ent){    
    $current_speed = `/usr/bin/netstat -nbI $ent | grep 'Link' | awk '{print $8}'`;     
    $current_speed=rtrim($current_speed);
    return $current_speed;
};

$socket = stream_socket_server("tcp://0.0.0.0:800", $errno, $errstr);

if (!$socket) {
    die("$errstr ($errno)\n");
}

while ($connect = stream_socket_accept($socket, -1)) {

    $current_traf = GetCurrentTraf("iя0");
    $current_time = time();  
    $json_data = array ('speed'=>$current_traf,'time'=>$current_time);
    $jsonen=json_encode($json_data);
    fwrite($connect, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n $jsonen");
    fclose($connect);
}

fclose($socket);

Код клиента:

  $json = file_get_contents($external_traff_url);  
  $obj=json_decode($json);
  $current_speed=$obj->speed;
      echo "--текущий трафик на интерфейсе : $current_speed (внешний)\n";

Жизнь замечательных грибов