小编gee*_*hic的帖子

Rails:取消Sidekiq的预定作业

所以我的模型中有一个Sidekiq工作者,看起来像这样:

class Perk < ActiveRecord::Base

include Sidekiq::Worker
include Sidekiq::Status::Worker

after_save :update_release_time

def update_release_time
  if self.release_time_changed?
    #if scheduled job already exists then cancel and reschedule
    #  Sidekiq::Status.cancel scheduled_job_id
    #  scheduled_job_id = NotifierWorker.perform_at(time.seconds.from_now, .....)
    #elsif scheduled job doesn't exist, then schedule for the first time
    #  scheduled_job_id = NotifierWorker.perform_at(time.seconds.from_now, .....)
    #end
  end
end
end
Run Code Online (Sandbox Code Playgroud)

所以基本上,我的代码检查发布时间是否已经改变.如果有,则必须取消先前安排的作业并在新的时间安排它.我如何实现这一点,即代替我的伪代码?如何检查是否scheduled_job_id存在然后获取其ID?

ruby-on-rails sidekiq

7
推荐指数
1
解决办法
6101
查看次数

使用Javascript将连续元素分组在一起

我有一个像这样的元素数组:

messages[i],messages[i]可能只存在某些值的i.例如messages[0],messages[2]可能存在但不存在messages[1].

现在我想将具有连续索引的元素组合在一起,例如,如果存在消息的索引是:

2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 16, 17, 20

我想像他们这样分组:

2, 3, 4, 5

8, 9

12, 13, 14, 15, 16, 17

20

使用Javascript这样做的有效方法是什么?

编辑:

for (i = 0; i < messages.length; i++) {
   if (messages[i].from_user_id == current_user_id) {
   // group the continuous messages together
      } else {
  //group these continuous messages together
   }
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays

6
推荐指数
1
解决办法
1984
查看次数

Django REST 框架身份验证令牌

我在 Django REST Framework 中遇到了令牌身份验证问题。从文档中我知道这是实现以下内容的问题:

from rest_framework.authtoken.models import Token

token = Token.objects.create(user=...)
print token.key
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,Token.objects.create(user=...). 这里的答案有帮助,它说这将提供一个外键给用户的令牌模型。我不确定我是否理解这一点。

我有自己的用户模型,定义如下:

class Users(models.Model):
    userid = models.IntegerField(primary_key=True)
    username = models.CharField(max_length=255L, unique=True, blank=True)
    email = models.CharField(max_length=255L, unique=True, blank=True)
    password = models.CharField(max_length=64L, blank=True)
    registeredip = models.CharField(max_length=255L, blank=True)
    dob = models.DateField(null=True, blank=True)
    firstname = models.CharField(max_length=255L, blank=True)
    lastname = models.CharField(max_length=255L, blank=True)
    joindate = models.DateTimeField()

    class Meta:
        db_table = 'Users'
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何为满足特定条件的用户创建令牌?

# View Pseudocode
from rest_framework.authtoken.models import Token

def token_request(request):
    if user_requested_token() and token_request_is_warranted():
        new_token …
Run Code Online (Sandbox Code Playgroud)

python django rest

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

如何在SQL中返回时间戳之间的差异?

我在我的表上运行一个查询,使其按升序返回时间戳(从最旧到最新).就像我在一条线上一样ORDER BY timestamp.

我需要我的结果有一个名为"Days Taken"的列,其中包含每个时间戳之间的差异,即(Timestamp 2 - Timestamp 1),(Timestamp 3 - Timestamp 2),(Timestamp 4 - Timestamp 3)等等.我如何使用SQL执行此操作?

value   timestamp             Days Taken
 2      2016-03-16 05:11:40    -
 3      2016-03-18 03:46:42    ?
 4      2016-03-18 04:09:44    ?
 5      2016-03-21 04:01:46    ?
 6      2016-03-22 04:38:17    ?
Run Code Online (Sandbox Code Playgroud)

我无法将列value用作索引,因为它被定义为字符串而不是int,这就是为什么对我不起作用的原因.天数是我想要计算的值.

编辑添加:我正在为Vertica运行DbVisualizer,它似乎不支持ON子句中的子查询.

mysql sql

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

Errno 13权限被拒绝Django上传文件

我看过所有其他解决方案,但似乎没有什么对我有用.我在我的设置中有这个.

MEDIA_ROOT = '/Desktop/myapp/media/'
MEDIA_URL = 'http://127.0.0.1:8000/media/'
Run Code Online (Sandbox Code Playgroud)

这在我的admin.py中

    image = models.FileField(upload_to='images/')
Run Code Online (Sandbox Code Playgroud)

我现在正在localhost服务器上运行它.当我尝试在管理员中上传图像并保存时,我收到错误:

[Errno 13] Permission denied: '/Desktop'

我尝试使用chmod和更改模式chown,但我仍然得到相同的错误.我甚至检查过lsof -i,Python似乎确实可以访问这个文件夹.我究竟做错了什么?

django django-admin

3
推荐指数
2
解决办法
9209
查看次数

使用Python将列名称与CSV文件中的数据对齐

这是我用来将数据写入.csv文件的代码.

with open('temp.csv', 'a') as fp:
        a = csv.writer(fp, delimiter='\t')
        data = [['faceXpos','faceYpos','faceHeight','faceWidth','imageViewHeight','imageViewWidth','tshirtXpos', 'tshirtYpos','tshirtWidth','tshirtHeight'],
                [faceXpos, faceYpos, faceHeight, faceWidth, imageViewHeight, imageViewWidth, tshirtXpos, tshirtYpos, tshirtWidth, tshirtHeight]]
        a.writerows(data)
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

faceXpos    faceYpos    faceHeight  faceWidth   imageViewHeight imageViewWidth  tshirtXpos  tshirtYpos  tshirtWidth tshirtHeight
118 432 84  84  568 320 13.0    136 294.0   346.0
faceXpos    faceYpos    faceHeight  faceWidth   imageViewHeight imageViewWidth  tshirtXpos  tshirtYpos  tshirtWidth tshirtHeight
117.4   433.81  82.35999    82.36   568 320 14.45   134.19  288.26  340.09
Run Code Online (Sandbox Code Playgroud)

如何对齐它以使每列下的数据以更易于阅读的方式完美对齐?期望的输出:(即使数据位于列的中心也没问题)

  faceXpos  faceYpos    faceHeight  faceWidth   imageViewHeight imageViewWidth  tshirtXpos  tshirtYpos  tshirtWidth tshirtHeight
  118       432         84 …
Run Code Online (Sandbox Code Playgroud)

python csv

3
推荐指数
1
解决办法
4808
查看次数

jQuery Mobile textarea调整大小问题

我有一个textarea元素位于页面的页脚(模拟iOS中的消息的本机撰写框).输入文本后,它会相应地增大或缩小.这个元素的高度似乎计算为52px.

我希望高度更小.但是,设置初始高度(不重要)只会被52px覆盖.将初始高度设置为大约35px(重要)会禁用自动增长功能,而是会出现滚动条.我玩网络检查员,但我似乎无法弄清楚这个52px的计算位置.

这个问题的解决方案是什么?代码很简单.我正在使用jQuery 1.10.2和jQuery Mobile 1.4.0.

HTML

<div data-role="footer" data-theme="a" data-position="fixed" data-tap-toggle="false" class="custom-footer">
        <div class="group-footer">
            <div class="map-icon">
                <img src="assets/compose-action-arrow@2x.png" style="width: 25px;height: 25px;" />
            </div>
            <div class="text-box">
                <textarea name="textarea" class="define-textarea" id="inbox-continue-conversation"></textarea>
            </div>
            <div class="send-link"><a href="#" id="inbox-continue-answer-button">Send</a>
            </div>
        </div>

</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.define-textarea {
font-size: 1em !important;
border-color: #cccccc !important;
border-radius: 5px;
}
Run Code Online (Sandbox Code Playgroud)

高度为52px. 理想情况下,我希望它大约35px. 自动增长功能应如下所示.

css jquery jquery-mobile

3
推荐指数
1
解决办法
3969
查看次数

如何使用css绘制多条水平线(Notebook Paper效果)?

我想在我的博客上制作笔记本纸,我想在其中制作水平线.我成功地使用css绘制了一条水平线,但我无法找到重复它的方法,因此它可以填满整个页面.

这是我的CSS代码:

.horizontalLines {
 border-bottom: 2px solid #CCCCCC;
 padding-top: 25px;
 width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

这段代码只允许我只制作一行,如何制作多行?

html css

2
推荐指数
1
解决办法
4925
查看次数

使用Facebook Graph API获取共同朋友的数量

因此,我使用下面的代码首先获取用户朋友,然后使用用户朋友ID生成他们拥有的共同朋友的数量.清楚地遍历所有朋友并每次比较它是一个漫长的过程,但它的工作原理.但是,页面需要一段时间才能加载.如何减少所需的时间或优化以下代码?

    function getFriends() 

    {
      FB.api('/me/friends', function(response) {
      friendCount = response.data.length;
      $("h2").append(friendCount+ ' friends');
      if(response.data) {
        $.each(response.data,function(index,friend) {
            FB.api('/me/mutualfriends/'+friend.id, function(mutualfriends) {
            $("#results").append('<ul><li>' + friend.name + ' has id:' + friend.id + ' has mutual friends: ' + mutualfriends.data.length + '</li></ul>');
            $("#results").append('<img src="http://graph.facebook.com/' + friend.id + '/picture" />');
            });

        });
    } else {
        console.log("Error!");
    }
    });
    }
Run Code Online (Sandbox Code Playgroud)

javascript facebook-graph-api

0
推荐指数
1
解决办法
1562
查看次数