Modèle de délibération suppression de poste

Vos versions sont des itérations spécifiques de vos modèles. Le noyau d`une version de modèle est un TensorFlow SavedModel. À peu près comme nous espérons qu`il fonctionne, un travail personnalisé serait en charge de tous. Ainsi sur notre hypothétiquement UnregisterController. php nous supprimerons l`utilisateur, et pousserons le travail passant le modèle d`utilisateur que nous sommes sur le sujet de supprimer. Ce n`est qu`un exemple de contrôleur, alors prenez-le à la légère. Oui, il doit valider une demande et autoriser la suppression, mais c`est pour le show seulement. C`est l`approche la plus facile. Dans votre Job, au lieu de passer une instance de modèle, comme nous l`avons fait avec notre modèle d`utilisateur, nous passerons le modèle comme un tableau. Vous pouvez trouver les mises en garde de cette méthode de sérialisation sur le Laravel docs, mais pour cet exemple, nous avons besoin de seulement trois éléments d`information pour que ce Job fonctionne. Les informations que vous obtenez sont décrites dans la référence de ressource modèle. La création d`une version consiste à déployer un SavedModel vers Cloud ML Engine.

Référez-vous au Guide de déploiement de modèle pour plus d`informations. Le nouveau modèle inerte sera appelé UserDeleted, mais vous êtes libre de le nommer comme TrashBin ou quoi que ce soit. Vous n`avez pas à réinventer la roue ou le code sans fin, un modèle de base agréable fera pour la simplicité. OK, OK, rien ne t`empêche d`appeler la table directement sans la surcharge du modèle éloquent, mais utilisons le premier pour qu`il puisse être référencé par le job. Nous expédions maintenant le job à l`aide du modèle UserDeleted au lieu du modèle utilisateur. Et nous disons à notre job de recevoir notre modèle UserDeleted. La nature asynchrone du job de file d`attente ne tient pas compte si le modèle que vous passez par la méthode Dispatch () existe. Il va essayer de le trouver indépendamment, échouer misérablement, et jeter une belle exception dans votre table failed_jobs. Et c`est le comportement attendu.

Le job en file d`attente ne trouve pas le modèle utilisateur car il sera supprimé lorsque le travail s`exécutera ultérieurement, même s`il est poussé à la file d`attente avant la suppression. Maintenant que nous avons le travail appelé, et l`utilisateur supprimé, nous procédons à écrire ce que nous devons faire lorsque l`utilisateur cesse d`exister. Nous nous sentons assez sûrs que cela fonctionnera, parce que nous mettons en file d`attente un modèle avant qu`il soit supprimé. Il devrait exister quand le job est poussé, non? C`est un peu fastidieux, mais c`est une solution qui n`affectera pas votre application de grandes façons. Nous copions simplement le modèle à un autre modèle inerte, et nous expédions ensuite le job en utilisant le nouveau modèle inerte au lieu de l`original que nous avons supprimé. Il y a trois façons de faire face à ce genre de «Job avec un modèle inexistant». Aucun d`entre eux sont trop difficiles, cependant, mais pas une promenade dans le parc non plus. Des opérations de longue durée, seule la création d`une version est susceptible de prendre beaucoup de temps pour terminer. La suppression de modèles et de versions est généralement accomplie en temps quasi réel. La création d`une tâche est décrite en détail dans les guides de prédiction de la formation et des lots. Utilisez les projets. Operations.

Get pour interroger périodiquement l`état de l`opération. Vous pouvez utiliser projets. jobs. Get pour obtenir le statut d`un emploi. Cette méthode est également fournie en tant que travaux gcloud ml décrits et dans la page travaux de la console Google Cloud Platform. Quelle que soit la façon dont vous obtenez le statut, les informations sont basées sur les membres de la ressource Job. Vous saurez que le travail est terminé lorsque Job. State dans la réponse est égal à l`une de ces valeurs: vous ne pouvez pas supprimer la version par défaut d`un modèle, sauf s`il s`agit de la seule version affectée à ce modèle. Le tableau suivant résume les opérations de modèle et répertorie les interfaces que vous pouvez utiliser pour les exécuter: le modèle ne doit avoir aucune version qui lui est associée avant de pouvoir le supprimer. C`est la seule façon d`assigner une nouvelle version par défaut pour un modèle; après la première, la création d`une version ne rend pas la nouvelle version par défaut.