小编kra*_*aiz的帖子

如何使用给定的装饰器获取python类的所有方法

如何获取用@ decorator2装饰的给定类A的所有方法?

class A():
    def method_a(self):
      pass

    @decorator1
    def method_b(self, b):
      pass

    @decorator2
    def method_c(self, t=5):
      pass
Run Code Online (Sandbox Code Playgroud)

python methods class decorator inspect

74
推荐指数
4
解决办法
3万
查看次数

使用Nginx进行分布式缓存MP4 PseudoStreaming(搜索)

我尝试使用nginx(origin + edge)设置至少2台服务器.都用mp4 -module 编译.原点包含我所有的mp4文件.Edge配置了所有按预期工作的缓存内容(见下文),第二次每个mp4文件请求由没有原始流量的边缘缓存提供.

但我希望能够在文件中寻找.功能来自mp4模块.只需追加查询参数"?start = 120"即告诉nginx以时间戳120秒开始提供mp4内容.这适用于直接请求的原点.但是只要我在nginx的缓存位置启用mp4-module,请求就会是404.

nginx.conf @ origin:

server {
  listen       80;
  server_name  localhost;
  root         /usr/share/nginx/www;
  location ~ \.mp4$ {
    mp4;
    expires max;
  }
}
Run Code Online (Sandbox Code Playgroud)

nginx.conf @ edge:

proxy_cache_path /usr/share/nginx/cache levels=2:2 keys_zone=icdn_cache:10m inactive=7d max_size=2g;
proxy_temp_path /usr/share/nginx/temp;
proxy_ignore_headers X-Accel-Expires Cache-Control Set-Cookie;
log_format cache '[$time_local] Cache: $upstream_cache_status $upstream_addr $upstream_response_time $status $bytes_sent $proxy_add_x_forwarded_for $request_uri';
access_log /usr/local/nginx/logs/cache.log cache;

upstream origin {
  server <origin-domain>;
}
server {
  listen       80;
  server_name  localhost;

  location ~ \.mp4$ {
    mp4;
    proxy_cache icdn_cache;
    proxy_pass http://origin;
    proxy_cache_key …
Run Code Online (Sandbox Code Playgroud)

mp4 caching cdn nginx pseudo-streaming

8
推荐指数
1
解决办法
4047
查看次数

使用按日期范围分组的django聚合到较低分辨率

可怕的标题,但让我解释一下:我有这个django模型包含一个时间戳(日期)和要记录的属性 - fe消耗一些资源的用户数 - (值).

class Viewers(models.Model):
    date = models.DateTimeField()
    value = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

对于每10秒,该表包含用户数.这样的事情:

| date | value |
|------|-------|
|  t1  |   15  |
|  t2  |   18  |
|  t3  |   27  |
|  t4  |   25  |
|  ..  |   ..  |
|  t30 |   38  |
|  t31 |   36  |
|  ..  |   ..  |
Run Code Online (Sandbox Code Playgroud)

现在我想从这些数据中生成不同的统计数据,每个数据都有另一个分辨率 对于最后一天的图表,我不需要10秒的分辨率,所以我想要5分钟的步骤(通过平均从t1到t29,t30到t59的行的值(也可能是日期)来构建, ...),所以我会得到:

| date | value |
|------|-------|
|  t15 |   21  |
|  t45 |   32  |
| …
Run Code Online (Sandbox Code Playgroud)

sql django average date-range aggregation

5
推荐指数
1
解决办法
2000
查看次数