问题描述
我使用的执行器对酸洗功能进行了回复,并且使用了<?php if(get_field('to-do')): ?>
<tbody>
<tr>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Tarefa</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Deadline</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Status</th>
</tr>
<?php while(has_sub_field('to-do')): ?>
<tr style="border-top: 1px solid rgba(0,0.05)">
<td class="timeline-phase-activity ng-scope" style="text-align: left;vertical-align:middle;font-size:14px;width:60%;font-family:Arial,sans-serif;padding:10px 30px 10px 0"><span><?php the_sub_field('task-name'); ?></span></td>
<td style="vertical-align:middle;text-align:left;padding-left: 24px;font-size:14px;font-family:Arial,sans-serif;padding:10px 0">
<span style="padding-right:1.125rem"><?php the_sub_field('deadline'); ?></span>
</td>
<td style="text-align:left;vertical-align:middle;font-size:14px;font-family:Arial,sans-serif;;padding:10px 0"><span><?php the_sub_field('status'); ?></span>
</td>
</tr>
<?php endwhile; ?>
</tbody>
<?php endif; ?>
。
在我executor.submit
的函数中,我总是使用相同的参数调用函数,因此我想对其进行缓存。我在以下代码中对此进行了演示:
submit
缓存在这里不起作用,因为执行程序每次收到带有空缓存的腌制函数。
解决此问题的一种方法是使用基于磁盘的缓存(例如使用import time
def memoize(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = f(x)
return memo[x]
return helper
@memoize # @functools.lru_cache will give the same problem!
def g(y):
time.sleep(2)
def f(x):
g(1)
return x
# I am using `loky` here,but `dask` and `ipyparallel` give the same behaviour.
# Note that using `concurrent.futures.ProcessPoolExecutor` won't
# have this problem because it forks the entire process!
import loky
with loky.reusable_executor.get_reusable_executor(max_workers=1) as ex:
t = time.time()
ex.submit(f,10).result()
print(time.time() - t) # <----- prints 2s
# Now I run again and want to use the cache,however...
t = time.time()
ex.submit(f,10).result()
print(time.time() - t) # <----- prints 2s
或joblib.Memory
,但是,我想创建一个使用基于内存的解决方案的装饰器,特别是,是新引入的(在Python 3.8中)diskcache)
。不幸的是,我无法弄清楚如何将multiprocessing.shared_memory.SharedMemory
对象指向任意Python对象。
我想像字典一样使用它,例如( 此尝试无效 ):
SharedMemory
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)