首先,很抱歉,如果以前有人问过这个问题,我找不到类似的问题,所以我决定自己问。
假设我有两个不同的 cron 作业,如下所示:
@Scheduled(cron = "0 30 * * * *")
private void sleepForDays() {
while(true) sleep();
}
@Scheduled(cron= "0 * * * * *")
private void logHello() {
log("hello!");
}
Run Code Online (Sandbox Code Playgroud)
我有一个运行数天的函数,每 30 分钟触发一次。(0 30 * * * *) 让我们命名它sleepForDays()。
我有另一个函数应该每分钟记录 hello 。让我们命名它logHello()。
问题:
一旦sleepForDays()开始,我相信sleepForDays()在第一个完成之前第二个不会开始。正确的?
一旦sleepForDays()启动,logHello()并不是每分钟都在工作。我在生产环境中记录了此函数,但在输出文件中看不到这些日志。sleepForDays()显然它在执行时不起作用。
意向:
我希望不同的 cronJobs 彼此独立运行。换句话说,我不想sleepForDays()阻止logHello()。
我还想避免重复执行相同的 cronJob。如果sleepForDays()已经执行,我不想再sleepForDays()启动。
我发布这个问题的主要观点是问题#2。关于 StackOverflow 中的类似帖子,我相信问题 1 的答案是肯定的。我想确保我在问题#1 …
标题。这两个陈述是做同样的事情,还是我在这里错过了什么?
cars = db.EmbeddedDocumentListField(Car, default= [])
Run Code Online (Sandbox Code Playgroud)
与
cars = db.ListField(db.EmbeddedDocumentField(Car), default=[])
Run Code Online (Sandbox Code Playgroud) 请考虑以下代码:
#include <vector>
#include <iostream>
void monitor_vector(std::vector<int> myV)
{
std::vector<int>::iterator it = myV.begin();
std::cout << "Vector size: " << myV.size() << std::endl;
while (*it)
{
std::cout << "Element " << it-myV.begin() << ": " << *it << std::endl;
it++;
}
}
int main()
{
std::vector<int> myVector(4,1);
monitor_vector(myVector);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
基本上,我创建了一个std::vector<int>包含4元素的元素,并分配每个元素1.当我执行这段代码时,一切都很好.输出显示每个元素.
但是,当我用这一行执行它时
std::vector<int> myVector(4,1);
Run Code Online (Sandbox Code Playgroud)
替换为此行:
std::vector<int> myVector(4,0);
Run Code Online (Sandbox Code Playgroud)
我看不到任何输出.输出是:
yilmazali@yilmazali:~/cpp_practice$ g++ -o la vector_practice.cpp
yilmazali@yilmazali:~/cpp_practice$ ./la
Vector size: 4
yilmazali@yilmazali:~/cpp_practice$
Run Code Online (Sandbox Code Playgroud)
为什么忽略具有默认整数值的元素?他们仍然是那里的成员std::vector.
谢谢你的时间,阿里
c++ ×1
concurrency ×1
cron ×1
java ×1
mongoengine ×1
python ×1
spring ×1
stdvector ×1
vector ×1