小编Bor*_*éec的帖子

docker 中的 Localstack :健康检查特定的 s3 已启动

我启动了一个运行良好的 localstack 容器,但我需要等待从位于的脚本创建的 s3 存储桶/docker-entrypoint-initaws.d完全正常运行,然后再启动我的其他容器。

我知道有可能等待 localstack 完全准备好:

healthcheck:
   test: ["CMD", "curl", "http://localhost:4566/health?reload"]
Run Code Online (Sandbox Code Playgroud)

但是有没有一种方法可以检查特定 s3 存储桶的运行状况?

amazon-s3 docker docker-compose localstack

4
推荐指数
1
解决办法
4760
查看次数

Django访问序列化程序中的嵌套对象字段

Django-Rest有一个类User包含的领域first_name,而一个类Account包含的字段usernamea_class_ref这是一个one-to-one'关系。

如何在序列化程序中B执行以下操作:

class AccountSerializer():
    class Meta:
        model= Account
        fields= [
          'username',
          'firstname` 
        ]
Run Code Online (Sandbox Code Playgroud)

帐户 :

class Account(models.Model):
    user = models.OneToOneField(
        settings.AUTH_USER_MODEL,
        related_name='account',
        on_delete=models.CASCADE
    )
    def username(self):
        return self.user.username <== this is the solution that I'm trying to avoid 
Run Code Online (Sandbox Code Playgroud)

并且UserAbstractUserDjango-rest-framework的扩展,它带有一个first_name = models.CharField(_('first name'), max_length=30, blank=True)

谢谢

python django django-rest-framework

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

Symfony4 - 进程 - 命令无法打开输入文件 bin/console

我正在构建一个 symfony4 网络应用程序。我有一个命令,可以像魅力一样直接在 cli 中运行:

php bin/console app:analysis-file 4
Run Code Online (Sandbox Code Playgroud)

但是当我尝试exec直接从Controllervia 进行操作时:

$process = new Process('php bin/console app:analysis-file '. 
$bankStatement->getId());
$process->run();
Run Code Online (Sandbox Code Playgroud)

然后$process->getOutput()返回“ Could not open input file bin/console”。

这是Command Class

class AnalysisFileCommand extends ContainerAwareCommand
{
    protected function configure()
    {
        $this
            ->setName('app:analysis-file')
            ->addArgument('file_id', InputArgument::REQUIRED);
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $entityManager = $this->getContainer()->get('doctrine')->getEntityManager();
        $bankStatement = $entityManager->getRepository(BankStatement::class)->find($input->getArgument("file_id"));
        $bankStatement->setStatus(BankStatement::ANALYZING);
        $entityManager->persist($bankStatement);
        $entityManager->flush();
    }
}
Run Code Online (Sandbox Code Playgroud)

php command-line-interface symfony

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

Symfony4 使用路由注释扩展控制器

我正在构建一个 web 应用程序,Symfony因为现在我不得不为我构建的每个新控制器重复一个特定的模式。

例如我有这个AdminController

/**
 * @Route("/pro/{uniqid}")
 * @ParamConverter("company", options={"mapping":{"uniqid" = "uniqid"}})
 * @Security("is_granted(constant('App\\Security\\Voter\\CompanyVoter::VIEW'), company)")
 * @package App\Controller
 */
 class AdminController extends Controller
 {
    /**
     * @Route("/admin/users/", name="users")
     * @return \Symfony\Component\HttpFoundation\Response
     */
     public function users(Company $company){}
 }
Run Code Online (Sandbox Code Playgroud)

因此,每个控制器必须重新定义@Route@ParamConverter@Security这是非常多余。

我试图创建一个LoggedController定义每个注释的,然后 makeController扩展那个LoggedController,但这不起作用。

有没有解决方案,或者我应该在每次创建一个Controller需要实现它的新注解时继续复制/粘贴这些注解?

编辑:我添加Company实体声明:

/**
 * @ORM\Entity(repositoryClass="App\Repository\CompanyRepository")
 */
 class Company
 {
   /**
    * @ORM\Id()
    * @ORM\GeneratedValue()
    * @ORM\Column(type="integer")
    */
    private $id;
Run Code Online (Sandbox Code Playgroud)

php annotations symfony symfony4

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

如何在Chrome扩展程序中存储大数据?

我对javascript和chrome-extension非常陌生,我尝试创建阻止某些域的扩展。我想将这些域存储在文件中,也许使用adblock的方法。

我知道有,localstorage但是这是存储数据的唯一方法吗?

如果存储在文件中,如何从javascript扩展名中打开它?

谢谢

javascript google-chrome google-chrome-extension

-1
推荐指数
1
解决办法
692
查看次数