Estoy creando un bot y necesito el script para realizar múltiples tareas con diferentes tiempos de reutilización en cada tarea. Las tareas deben repetirse con diferentes tiempos de reutilización.

Soy nuevo en la programación y he intentado usar bucles for con rango, pero con la configuración del código, hace la primera tarea y luego espera el enfriamiento de la primera tarea en lugar de continuar con otra tarea y luego repetir la primera después de su enfriamiento. . ATM hace la primera tarea, espera el tiempo, duerme y luego hace el código en el bucle debajo. Pero quiero que haga la segunda parte del código inmediatamente después de la primera tarea.

    for i in range(1000, 3000):
        bot.krim()time.sleep(bot.krimcd)
        time.sleep(bot.krimcd)

    for j in range(1000, 3000):
        time.sleep(3)
        bot.bil()
        time.sleep(bot.bilcd)

El resultado esperado es que hace la primera tarea, espera 3 segundos, hace la segunda tarea y cuando finaliza time.sleep (bot.krimcd) repite la primera tarea, y cuando time.sleep (bot.bilcd) finaliza repite la segunda tarea.

1
Paul Halsen 1 oct. 2019 a las 21:29

1 respuesta

La mejor respuesta

Lo siento, mi última respuesta fue completamente inexacta, estaba basando mi respuesta en una biblioteca que construí para mí, eso es completamente malo, aquí:

Esto usa el módulo threading y crea subprocesos para cada función y los ejecuta al mismo tiempo.

import threading

def func_name1():
    for i in range(1000, 3000):
        bot.krim()time.sleep(bot.krimcd)
        time.sleep(bot.krimcd)

def func_name2():
    for j in range(1000, 3000):
        time.sleep(3)
        bot.bil()
        time.sleep(bot.bilcd)

f1 = threading.Thread(target=func_name1)
f2 = threading.Thread(target=func_name2)
f1.start()
f2.start()
0
Tylerr 1 oct. 2019 a las 18:50