我克隆了一个使用 Yarn 1.x 的项目并尝试运行它,但我找不到获得正确版本的 Yarn 的方法。我想我一定错过了什么。
评论终端会话:
# using node16.18.0
$ nvm use v16
Now using node v16.18.0 (npm v8.19.2)
# start with no yarn installed
$ yarn --version
zsh: command not found: yarn
# package.json has packageManager set for Yarn v1.22.19
$ cat package.json | grep packageManager
"packageManager": "yarn@1.22.19"
# enable corepack, and it ignores the packageManager version
$ corepack enable
$ yarn --version
3.2.4
# manually ask corepack to use v1.22.19, but it again ignores this
$ corepack …
Run Code Online (Sandbox Code Playgroud) 如果我将来使用这样的方式安排消息:
d = datetime.utcnow() + timedelta(minutes=5)
task = {"some": "object"}
sbs.send_queue_message(
qn,
Message(
task,
broker_properties={'ScheduledEnqueueTimeUtc': d}
)
)
Run Code Online (Sandbox Code Playgroud)
那么有没有一种方法可以查看/删除已安排的消息?send_queue_message
不返回任何东西,可以receive_queue_message
理解的是,不会返回计划稍后排队的项目 - 所以我无法抓住它传递给delete_queue_message
例如。
Azure 团队似乎知道这个用例,因为存储队列似乎有这样的功能:https : //azure.microsoft.com/en-gb/blog/azure-storage-queues-new-feature-pop-receipt-on -添加消息/
基本上我需要能够安排稍后排队的消息,但是可以取消。理想情况下,我还希望能够查看所有未来的计划任务,但能够仅存储可用于稍后删除排队消息的 id 就足够了。
Azure UI 也显示了活动/计划消息的数量,这似乎表明应该有某种方法可以查看这些计划消息!
队列存储会更好吗?或者服务总线是否有一些可行的方法?ScheduledEnqueueTimeUtc
似乎比队列存储中的可见性超时更灵活,所以如果可以的话,坚持下去会很好。
我有一个 Makefile,如下所示:
.PHONY: aws-deps
requirements.txt: Pipfile Pipfile.lock
pipenv lock -r > $@
aws-deps: requirements.txt
pip3 install --upgrade --target aws_src/ -r $<
Run Code Online (Sandbox Code Playgroud)
如果我运行make requirements.txt
多次,它会正确地说它是最新的。但是,如果我运行make aws-deps
它,它的行为不会像我期望的.PHONY
目标那样,它每次都会运行,无论是否requirements.txt
发生变化。例如,先删除requirements.txt:
$ make aws-deps
pipenv lock -r > requirements.txt
pip3 install --upgrade --target aws_src/ -r requirements.txt
<snip>
$ make aws-deps
pip3 install --upgrade --target aws_src/ -r requirements.txt
<snip>
Run Code Online (Sandbox Code Playgroud)
我是否误解了.PHONY
部门的工作?我希望 aws-deps 仅在其先决条件发生变化时才执行某些操作,即我对 requests.txt 进行了更改 - 有人知道我在使其正常工作时缺少什么吗?
谢谢!