@@ -40,29 +40,17 @@ async def unload():
4040 logger .success ('Background scheduler unloaded' )
4141
4242
43- def wrapper (func , args , kwargs ):
44- def sync_wrapper ():
45- return func (* args , ** kwargs )
46-
47- async def async_wrapper ():
48- return await func (* args , ** kwargs )
49-
50- if asyncio .iscoroutinefunction (func ):
51- return async_wrapper
52- return sync_wrapper
53-
54-
5543def run_later (func : Callable , delay : float , args = (), kwargs = {}) -> int :
5644 global _sync_id , _async_id
5745 if asyncio .iscoroutinefunction (func ):
5846 cur_id = - (_async_id := _async_id + 1 )
5947 tasks [cur_id ] = async_background .add_job (
60- wrapper ( func , args , kwargs ), 'date' , run_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
48+ func = func , args = args , kwargs = kwargs , trigger = 'date' , run_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
6149 )
6250 else :
6351 cur_id = (_sync_id := _sync_id + 1 )
6452 tasks [cur_id ] = background .add_job (
65- wrapper ( func , args , kwargs ), 'date' , run_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
53+ func = func , args = args , kwargs = kwargs , trigger = 'date' , run_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
6654 )
6755 return cur_id
6856
@@ -72,12 +60,12 @@ def run_repeat_later(func: Callable, delay: float, interval: float, args = (), k
7260 if asyncio .iscoroutinefunction (func ):
7361 cur_id = - (_async_id := _async_id + 1 )
7462 tasks [cur_id ] = async_background .add_job (
75- wrapper ( func , args , kwargs ), 'interval' , seconds = interval , start_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
63+ func = func , args = args , kwargs = kwargs , trigger = 'interval' , seconds = interval , start_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
7664 )
7765 else :
7866 cur_id = (_sync_id := _sync_id + 1 )
7967 tasks [cur_id ] = background .add_job (
80- wrapper ( func , args , kwargs ), 'interval' , seconds = interval , start_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
68+ func = func , args = args , kwargs = kwargs , trigger = 'interval' , seconds = interval , start_date = units .format_datetime_from_timestamp (time .time () + delay ), max_instances = MAX_INSTANCES
8169 )
8270 return cur_id
8371
0 commit comments