小编Kyl*_*ien的帖子

CakePHP会话仅在不活动时超时

所以这个问题的关键在于如何防止CakePHP仅在一段时间不活动后对会话进行解除身份验证.

因此,如果用户什么都不做,那么我希望CakePHP在30分钟后将其注销.但是,如果用户选择在第28分钟不活动时访问页面,那么CakePHP应该"重置"它的超时计数器.

目前还没有发生这种情况.无论活动如何,CakePHP在我的核心配置(app/Config/core.php)中的指定时间后超时.

这是我的配置代码:

Configure::write('Session', array(
    'defaults' => 'cake',
    'timeout' => '30'
));
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

authentication cakephp session-timeout

24
推荐指数
2
解决办法
2万
查看次数

Django Celery delay() 总是推送到默认的“celery”队列

我正在用这个扯掉我的头发。

我的问题的症结在于,CELERY_DEFAULT_QUEUE在我的 Django设置中使用settings.py我的任务不会强制我的任务进入我设置的特定队列。它总是进入celery我的经纪人的默认队列。

但是,如果我queue=proj:devshared_task装饰器中指定,它会进入正确的队列。它的行为符合预期。

我的设置如下:

  • 我本地主机上的 Django 代码(用于测试和其他东西)。.delay()通过 Django 的 shell ( manage.py shell)执行任务
  • 配置为我的代理的远程 Redis 实例
  • 在远程机器上配置的 2 名 celery 工作人员正在等待来自 Redis 的消息(在 Google App Engine 上 - 可能无关紧要)

注意:对于下面的代码片段,我隐藏了项目名称并用作proj占位符。

celery.py

from __future__ import absolute_import, unicode_literals

import os
from celery import Celery, shared_task

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

app = Celery('proj')

app.config_from_object('django.conf:settings', namespace='CELERY', force=True)

app.autodiscover_tasks()


@shared_task
def add(x, y):
    return x + y
Run Code Online (Sandbox Code Playgroud)

settings.py

...
CELERY_RESULT_BACKEND = …
Run Code Online (Sandbox Code Playgroud)

python django celery celery-task django-celery

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

Java子类最后一个实例覆盖值

我是一个涉猎Java的网络开发人员(再次),我遇到了麻烦.

基本上,我有一个超类Employee,它有两个子类,扩展名为Management和Programmer.Employee类包含一个employees基本上是Employee对象数组的数组.

以下是两个类(Employee和Management)和最终主要方法的重要摘要.我将在底部解释输出.

public class **Employee** {

   private static String firstName;
   protected static int MAXEMPLOYEES = 5;
   protected Employee[] employees = new Employee[MAXEMPLOYEES];
   protected int totEmployees = 0;

   public Employee(String first) {
       setFirstName(first);
   }

   public void setFirstName(String str){
       firstName = str;
   }

   public String getFirstName(){
       return firstName;
   }

    public boolean addEmployee(String fname) {
       boolean added = false;
       if (totEmployees < MAXEMPLOYEES) {
           Employee empl = new Employee(fname);
           employees[totEmployees] = empl;
           added = true;
           totEmployees++;
       }
       return added;
   } …
Run Code Online (Sandbox Code Playgroud)

java

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