multiprocessing. Не запускается функция в отдельном процессе
Помогите. thread(tokss) запускается,создается новый процесс,но функция post не включается в новом процессе. Расскажите по подробнее про multiprocessing,хоть убейте,облазил много сайтов,официальную документацию,ничего не понял и не нашел то что мне надо. Мне надо где :
if __name__ == '__main__'
thread(tokss)
чтоб создавался новый процесс который выполнял бы функцию post() и только её!!!(При этом надо чтоб цикл for event in longpoll.listen():,да это цикл!,не прекращался)
А так же повторяюсь,расскажите по подробнее про multiprocessing,буду очень благодарен за помощь!.
Весь код :
import vk_api
import time
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import threading
from multiprocessing import Process
database = sqlite3.connect("database.db")
cursor = database.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users (
id INT,
name TEXT,
last_name TEXT,
token TEXT,
access TEXT
)''')
database.commit()
vk_session = vk_api.VkApi(token="**Скрыто**")
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session,**Скрыто**)
def post(token123):
while True:
user = vk_api.VkApi(token=str(token123))
user.method("wall.post", {"message": "TEST#"})
time.sleep(6)
print("CREATED#")
def thread(a):
proc = Process(target=post,name="Test",args=(a,))
proc.start()
for event in longpoll.listen(): # Проверка действий
if event.type == VkBotEventType.MESSAGE_NEW:
if event.obj.message["text"] != "":
if event.from_user:
tokss = event.obj.message["text"]
if __name__ == '__main__':
thread(tokss)
vk.messages.send(user_id=event.obj.message["peer_id"], random_id=get_random_id(),
message=event.obj.message["text"])