我想用命令行传递的自定义版本构建JAR,例如:
当我像这样执行gradle构建任务时:
gradle build -Pversion=1.0
Run Code Online (Sandbox Code Playgroud)
应该生成myproject-1.0.jar.
我尝试将下面的行添加到build.gradle中,但它不起作用:
version = project.hasProperty('version') ? project['version'] : '10.0.0'
Run Code Online (Sandbox Code Playgroud) 我有两种类型的任务:异步任务和计划任务.所以,这是我的目录结构:
proj
|
-- tasks
|
-- __init__.py
|
-- celeryapp.py => celery instance defined in this file.
|
-- celeryconfig.py
|
-- async
| |
| -- __init__.py
| |
| -- task1.py => from proj.tasks.celeryapp import celery
| |
| -- task2.py => from proj.tasks.celeryapp import celery
|
-- schedule
|
-- __init__.py
|
-- task1.py => from proj.tasks.celeryapp import celery
|
-- task2.py => from proj.tasks.celeryapp import celery
Run Code Online (Sandbox Code Playgroud)
但是,当我像下面这样经营芹菜工人时,它不起作用.它无法接受来自芹菜节拍计划的任务.
$ celery worker --app=tasks -Q my_queue,default_queue
Run Code Online (Sandbox Code Playgroud)
那么,有多个任务文件组织的最佳实践吗?
以下是JavaScript中的一个问题:
// Tested via Google Chrome console.
var toString = Object.prototype.toString;
"foo".toString(); // "foo"
toString.call("foo"); // [object String]
[].toString(); // ""
toString.call([]); // [object Array]
{}.toString(); // syntax error
toString.call({}); // [object Object]
Run Code Online (Sandbox Code Playgroud)
为什么toString的结果与toString.call()不同?
更新
String.prototype.toString.call("foo"); // "foo"
Object.prototype.toString.call("foo"); // [object String]
Run Code Online (Sandbox Code Playgroud)
String.prototype.toString不是来自原型链,如下所示?
字符串中的toString [未找到] - > String.prototype中的toString [未找到]
Run Code Online (Sandbox Code Playgroud)--> toString in Object.prototype[found]
我想每2小时执行一次任务.Python有一个Timer in Threading模块,但是它能满足我的需求吗?我如何自己生成一个合适的计时器?
我想迭代嵌套在Map中的List,数据结构如下:
Map<Integer, List<Integer>> groups = new TreeMap<>()
// Some code else to put values into groups ...
Run Code Online (Sandbox Code Playgroud)
Freemarker模板:
<#list groups?keys as groupKey>
${groupKey} // It's OK here.
<#list groups[groupKey] as item> // Exception threw here, detail message is pasted below
${item}
</#list>
</#list>
Run Code Online (Sandbox Code Playgroud)
详细异常消息:
FreeMarker模板错误:对于"... [...]"左手操作数:预期序列或字符串或其他东西可自动转换为字符串(数字,日期或布尔值),但这被评估为extended_hash(包装器:ftSimpleHash) :==>组
那么,问题是什么?
PS
我试过groups.get(groupKey)而不是groups[groupKey],它会抛出一个新的Exception堆栈:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
java.lang.String.compareTo(String.java:108)
java.util.TreeMap.getEntry(TreeMap.java:346)
java.util.TreeMap.get(TreeMap.java:273)
freemarker.template.SimpleHash.get(SimpleHash.java:160)
freemarker.core.Dot._eval(Dot.java:40)
freemarker.core.Expression.eval(Expression.java:76)
Run Code Online (Sandbox Code Playgroud) 我写了一个名为"task"的django应用程序,并将其添加到*INSTALLED_APPS*.
但是当我试图在django shell中调用它时,它引发了一个NotRegistered expception.详细信息如下:
from task.tasks import add
from celery import registry
# 'task.tasks.add' is registered like below
registry.tasks # 'task.tasks.add': <@task: task.tasks.add>
# Call add()
r = add.delay(3, 4)
r.successful() # print "False"
################ celery debug info: #############################
The full contents of the message body was:
{'retries': 0, 'task': 'task.tasks.add', 'args': (3, 4), 'expires': None, 'eta': None, 'kwargs': {}, 'id': '36d25389-7a0b-4a0a-98f8-d7a17ef9192e'}
Traceback (most recent call last):
File "/usr/local/lib/python2.6/site-packages/celery/worker/consumer.py", line 427, in receive_message
eventer=self.event_dispatcher)
File "/usr/local/lib/python2.6/site-packages/celery/worker/job.py", line 297, in from_message …Run Code Online (Sandbox Code Playgroud) 例如,这是一个 Get 请求:
得到:/search?product_category=1&user_name=obama
我想定义一个SearchRequest来接受查询字符串,所以我可以使用 JSR 303 bean 验证注释来验证参数,如下所示:
public class SearchRequest {
@NotEmpty(message="product category is empty")
private int productCategory;
@NotEmpty(message="user name is empty")
private int userName;
}
Run Code Online (Sandbox Code Playgroud)
那么,是否有类似@JsonPropertyjackson 的东西将下划线样式转换为骆驼样式?
棘手的代码:
user = User.objects.filter(id=123)
user[0].last_name = 'foo'
user[0].save() # Cannot be saved.
id(user[0]) # 32131
id(user[0]) # 44232 ( different )
Run Code Online (Sandbox Code Playgroud)
用户无法以这种方式保存.
普通代码:
user = User.objects.filter(id=123)
if user:
user[0].last_name = 'foo'
user[0].save() # Saved successfully.
id(user[0]) # 32131
id(user[0]) # 32131 ( same )
Run Code Online (Sandbox Code Playgroud)
那么,问题是什么?
使用什么类型的数据结构来实现循环和迭代?
python ×4
java ×3
celery ×2
django ×2
algorithm ×1
freemarker ×1
gradle ×1
groovy ×1
java-ee ×1
javascript ×1
spring ×1
spring-mvc ×1
timer ×1