Ένας ενεργός ηθοποιός είναι μόνο ο χρόνος λειτουργίας.
Ένα Apify Actor μπορεί να τρέξει με επιτυχία και εξακολουθεί να είναι ένα φτωχό προϊόν. Μπορεί να δεχτεί μια αδέσμευτη είσοδο, να εκπέμψει αρχεία των οποίων οι αλλαγές σχήμα μεταξύ των δρομών, απαιτούν μη τεκμηριωμένα μυστικά, να εκθέσει τα εσωτερικά διαγνωστικά ως σειρές σύνολο δεδομένων, ή δεν έχουν καμία ασφαλή προεπιλογή για έναν κριτή αγοράς. Κανένα από αυτά τα προβλήματα δεν σταματά απαραίτητα έναν προγραμματιστή από το να το τρέξει χειροκίνητα. Όλα αυτά καθιστούν τον Ηθοποιό δύσκολο να αγοράσει, να αξιολογήσει, να αυτοματοποιηθεί, και να υποστηρίξει.
Οι αγοραστές πρέπει να κατανοήσουν τι μπορούν να ζητήσουν, τι θα λάβουν, τι μπορεί να κοστίσει ένα τρέξιμο, πώς ένα άδειο αποτέλεσμα συμπεριφέρεται, και ποια διαπιστευτήρια παραμένουν υπό τον έλεγχό τους. Οι διαχειριστές του Marketplace χρειάζονται ντετερμινιστικά αντικείμενα, ποιοτικά αποδεικτικά στοιχεία, κράτος έκδοσης, και έναν τρόπο για να επισκευάσει το προϊόν χωρίς να αντικαταστήσει την ταυτότητά του.
Αυτό μετατρέπει “αναπτύξτε αυτό το σενάριο” σε έναν κύκλο ζωής: πηγή, πολιτική εισόδου, σύμβαση εξόδου, δείγμα, πακέτο, τιμολόγηση, ποιότητα λειτουργίας, δημόσια λίστα, ενσωμάτωση, και συνεχιζόμενη συμφιλίωση.
Επιλέξτε μια υπόσχεση στενού προϊόντος
Ο τίτλος του Ηθοποιού θα πρέπει να περιγράφει ένα αποτέλεσμα αγοραστή, όχι μια γενική ικανότητα διάλυσης. Μια στενή υπόσχεση κάνει κάθε μεταγενέστερη απόφαση ευκολότερη: επιλογή πηγής, πεδία εισόδου, σχήμα, δεδομένα δειγμάτων, τεκμηρίωση, συμβάν τιμολόγησης, και τη γλώσσα αναζήτησης.
Καθορίστε την οικογένεια προϊόντων ρητά. Μια οθόνη ανάκλησης, ανιχνευτής προσφορών, ομαλοποιητής θέσης εργασίας, αναζήτηση προμηθευτή, price-and-stock monitoring, και νομικός εκχυλιστήρας αρχειοθέτησης δεν θα πρέπει να πέσει πίσω σε ένα γενικό «δεδομένα» σχήμα. Κάθε οικογένεια χρειάζεται τα δικά της απαιτούμενα πεδία και ορολογία.
Η υπόσχεση θέτει επίσης το όριο πηγής. Ένας αγοραστής-έτοιμος Actor χρειάζεται ένα σταθερό προσαρμογέα και μια πηγή των οποίων τα δικαιώματα, το μοτίβο πρόσβασης, και η αναμενόμενη έξοδος είναι συμβατά με την προβλεπόμενη εμπορική χρήση. Αν αυτό δεν μπορεί να καθοριστεί, η δημοσίευση θα πρέπει να σταματήσει πριν από την παραγωγή του πακέτου.
Περιορισμός κάθε δημόσιας συνεισφοράς
Οι δημόσιες εισροές αποτελούν μέρος της σύμβασης του προϊόντος. Θα πρέπει να πληκτρολογούνται, να εξηγούνται, να επικυρώνονται, και να καλύπτονται. URLs χρειάζονται επιτρεπόμενα πρωτόκολλα και πολιτική υποδοχής. Αριθμητικά όρια χρειάζονται ελάχιστα και maximum. Modes χρειάζονται σαφή enums. Προαιρετικά διαπιστευτήρια χρειάζονται ακριβείς κανόνες αποθήκευσης και μετάδοσης.
Μια ασφαλής προεπιλεγμένη εκτέλεση αξίζει ιδιαίτερη προσοχή, επειδή οι κριτές και οι αγοραστές πρώτης φοράς θα το χρησιμοποιήσουν. Zentra-δημιουργημένοι ηθοποιοί χρησιμοποιούν ένα explicitητό ένα στοιχείο, μη φορτισμένη λειτουργία δείγματος για την αφύλακτη ποιότητα και τους ελέγχους της αγοράς. Ζωντανή συλλογή είναι διαθέσιμη μόνο όταν ο τηλεφωνητής επιλέγει τη λειτουργία ζωντανής πηγής και την έξοδο που είναι έτοιμη για αγοραστή.
Αυτή η προεπιλογή έχει πολλά οφέλη. Αποδεικνύει ότι ο Ηθοποιός ξεκινά. Επιδεικνύει τη σύμβαση πεδίου. Εμποδίζει μια αυτοματοποιημένη επανεξέταση από το να ξεκινήσει μια ακριβή σύρραξη. Παράγει ντετερμινιστικά στοιχεία ακόμη και όταν η ζωντανή πηγή είναι προσωρινά μη διαθέσιμη. Το σημαντικότερο, δεν προσποιείται ότι ένα συνθετικό δείγμα είναι ένα ζωντανό αποτέλεσμα αγοραστή.
Σχεδιασμός της σύμβασης παραγωγής προϊόντων πρώτα
Το σχήμα συνόλου δεδομένων δεν θα πρέπει να είναι μια δεύτερη σκέψη που δημιουργείται από οποιαδήποτε σειρά εμφανίστηκε κατά τη διάρκεια των δοκιμών. Καθορίστε την οικογένεια αρχείων που αντιμετωπίζει τον αγοραστή πριν από τη δημοσίευση: σταθερό αναγνωριστικό, σχετικές χρονοσφραγίδες, απαιτούμενα πεδία τομέα, προαιρετικές τιμές, emums, φωλεωμένες δομές, μηδενική συμπεριφορά, και πεδία προέλευσης που είναι ασφαλή να εκτεθεί.
Από αυτή τη σύμβαση, δημιουργήστε ένα συντονισμένο σύνολο τεχνουργημάτων:
- το σχήμα του συνόλου δεδομένων του ηθοποιού·
- μία ντετερμινιστική σειρά δειγμάτων, πλήρης σχήματος·
- επικύρωση για ζωντανές σειρές που είναι έτοιμες για τον αγοραστή·
- τα εξαρτήματα καπνού για τους ελέγχους συσκευασίας·
- δημόσια τεκμηρίωση του τομέα·
- ορισμούς εξόδου ενσωμάτωσης για τις ροές εργασίας Zapier, Sheets, ή GitHub.
Κρατήστε το χρόνο εκτέλεσης και την τιμολόγηση μεταδεδομένων έξω από το σύνολο δεδομένων, εκτός αν ανήκει στο αρχείο αγοραστή. Τα γεγονότα χρέωσης, τα εσωτερικά αναγνωριστικά εκτέλεσης, τα διαγνωστικά πηγής, και τα στοιχεία ποιότητας ανήκουν σε δηλωτικά, αρχεία καταγραφής, ή επιχειρησιακά αρχεία. Όταν αυστηρή επικύρωση σύνολο δεδομένων βλέπει την ίδια οικογένεια πεδίου σε δείγματα και live τρόπους, η επανεξέταση της αγοράς γίνεται πιο προβλέψιμη.
Κάντε τα άδεια και μερικά αποτελέσματα τίμια
Ένα Actor μπορεί να τρέξει σωστά και να βρει τίποτα. Κενά αποτελέσματα θα πρέπει να παραμείνουν κενά, δεν πρέπει να επενδυθούν με demo εγγραφές έτσι ώστε μια ενσωμάτωση εμφανίζεται ενεργή. Το πακέτο και τα έγγραφα θα πρέπει να εξηγήσει πώς μηδενικά αποτελέσματα εκπροσωπούνται και ποια φίλτρα συνήθως στενεύουν το σύνολο δεδομένων.
Οι μερικές αποτυχίες πηγαίου κώδικα χρειάζονται επίσης μια ρητή πολιτική. Αποφασίστε αν η εκτέλεση αποτυγχάνει, επιστρέφει επικυρωμένα μερικά αρχεία με προειδοποίηση, ή περιμένει να ξαναδοκιμάσουν. Όποια και αν είναι η πολιτική, οι άκυρες γραμμές δεν πρέπει να χρεώνονται ως επιτυχής έξοδος αγοραστή. Στο μοντέλο του Zentra που παράγεται runtime, τα τιμολογιακά γεγονότα προσαρτώνται μόνο σε ζωντανές σειρές με ισχύ σύμβασης, ενώ το δείγμα, η ποιότητα, η εσωτερική, ο ιδιοκτήτης και η άκυρη-συμβατική δραστηριότητα παραμένουν εκτός πραγματικών εσόδων αγοραστή.
Σύνδεση τιμολόγησης με επικυρωμένη έξοδο
Η τιμολόγηση πρέπει να ταιριάζει με την εργασία και το παραδοτέο. Ένα μοντέλο ανά αποτέλεσμα χρειάζεται ένα σταθερό γεγονός και έναν σαφή ορισμό ενός φορτίσιμου αρχείου. Ένα σταθερό πακέτο χρειάζεται ένα ντετερμινιστικό αρχείο και μια τιμή προμηθευτή-native. Ένα καπάκι χρήσης πρέπει να σταματήσει την εκτέλεση πριν δημιουργήσει ανεξέλεγκτο κόστος.
Για έναν Ηθοποιό, καταγράφετε την προεπιλεγμένη συμπεριφορά δείγματος, τη ζωντανή λειτουργία, τα μέγιστα στοιχεία, το γεγονός φόρτισης και τη διακοπή της λειτουργίας μαζί. Ο χρόνος εκτέλεσης πρέπει να καταστείλει τις χρεώσεις για τις προεπιλεγμένες διαδρομές δείγματος και ποιότητας. Θα πρέπει να επικυρώσει τη σύμβαση εξόδου πριν από την προσθήκη οποιουδήποτε σήματος πληρωμής ανά συμβάν.
Οι προβλέψεις και οι εσωτερικές διαδρομές δεν θα πρέπει ποτέ να παρουσιάζονται ως πραγματικά έσοδα. Η αλήθεια των εσόδων ξεκινά με την επιλέξιμη δραστηριότητα αγοραστή και τα αποδεικτικά στοιχεία πληρωμής της αγοράς, όχι με ένα επιτυχημένο σύνολο δεδομένων QA.
Συσκευασία για εγκατάσταση και επιθεώρηση
Ένα πακέτο Ηθοποιών έτοιμο για αγοραστή θα πρέπει να είναι κατανοητό χωρίς κλήση. Τουλάχιστον χρειάζεται ένα πλήρες δηλωτικό Ηθοποιών, σχήμα εισόδου, σύνολο δεδομένων σχήμα, σταθερό δείγμα, README, παραδείγματα, όρια, credential καθοδήγηση, changelog, έκδοση, άδεια ή τη χρήση όρους, αντιμετώπιση προβλημάτων, και μια σαφή περιγραφή της δημόσιας/ιδιωτικής κατάστασης.
Σταθερά δείγματα και ταξινομημένα αντικείμενα διατηρούν τους ελέγχουςums νόημα. Μυστικά, τοπικές διαδρομές, ακατέργαστα αναγνωριστικά του παρόχου, ιδιωτικά σύνολα δεδομένων, και τα διαγνωστικά ιδιοκτήτη πρέπει να μείνουν έξω από το πακέτο.
Η τεκμηρίωση θα πρέπει να διακρίνει τα διαπιστευτήρια του αγοραστή από τα διαπιστευτήρια του εκδότη. Ενσωματώσεις όπως το Zapier ή το Google Sheets μπορούν να επικαλεστούν ένα δημόσιο Actor με το σύμβολο Apify του αγοραστή χωρίς να απαιτείται ξεχωριστός πληρωμένος λογαριασμός Zentra. Το κουπόνι θα πρέπει να αποθηκεύεται από τον εγκεκριμένο μυστικό μηχανισμό της ολοκλήρωσης και να αποστέλλεται μόνο στον ακριβή υπολογιστή Apify.
Αποδείξτε την προεπιλεγμένη εκτέλεση αγοράς
Οι δοκιμές τοπικής μονάδας είναι απαραίτητες, αλλά η πορεία αγοράς έχει τη δική της σύμβαση. Εκτελέστε το πακέτο που δημιουργήθηκε με την ακριβή προεπιλεγμένη είσοδο ένας κριτής θα δει. Επιβεβαιώστε ότι ξεκινά ασύγχρονα, παράγει το αναμενόμενο δείγμα ενός αντικειμένου, γράφει στο δηλωμένο προεπιλεγμένο σύνολο δεδομένων, ταιριάζει με το σχήμα, παραμένει χωρίς χρέωση, και εκθέτει αρκετά στοιχεία για τη διάγνωση αποτυχίας χωρίς διαρροή ιδιωτικών δεδομένων.
Οι έλεγχοι ποιότητας θα πρέπει να καλύπτουν την προφανή πληρότητα, τις οριοθετημένες εισροές, τη συμβατότητα του σχήματος, τη λειτουργία δειγματοληψίας, τη διακοπή ορίων φόρτισης, την τεκμηρίωση, την πολιτική πηγής, την ευθυγράμμιση τιμών, την κάλυψη εργασιών και την απομακρυσμένη ορατότητα. Επαναλαμβανόμενες σημαντικές αστοχίες μπορούν να σταματήσουν ή να ιδιωτικοποιήσουν μια λίστα, διατηρώντας παράλληλα την απομακρυσμένη ταυτότητα και το ιστορικό της. Τα όρια ταχύτητας του παρόχου ή η συντήρηση θα πρέπει να περιμένουν και να ξαναδοκιμάσουν.
Δημοσίευση μέσω συμφιλίωσης, όχι αντικατάστασης
Η κατάσταση δημοσίευσης είναι κάτι περισσότερο από δημόσια ή ιδιωτική. Το επίπεδο ελέγχου θα πρέπει να γνωρίζει αν το πακέτο παράγεται, επικυρώνεται, προετοιμάζεται, υποβάλλεται, υπό εξέταση, δημοσιεύεται, παύση, απορρίπτεται, ή αρχειοθετείται. Θα πρέπει επίσης να διατηρήσει το εξωτερικό αναγνωριστικό Actor, Αποθήκευση URL όταν είναι διαθέσιμο, δημοσιευμένη χρονοσφραγίδα, και κάλυψη εργασιών.
Πριν από τη δημιουργία ενός απομακρυσμένου ηθοποιού ή καθήκοντος, η συμφιλίωση θα πρέπει να αναζητήσει μια υπάρχουσα ταυτότητα. Η αναγέννηση θα πρέπει να επικαιροποιήσει το υπάρχον προϊόν και να διατηρήσει τη δημόσια κατάσταση. Μια προσωρινή απάντηση παρόχου δεν θα πρέπει να υποβαθμίσει μια δημοσιευμένη λίστα. Μια παύση ποιότητας θα πρέπει να κρατήσει το ιστορικό έτσι ώστε το ίδιο προϊόν να μπορεί να ανακτήσει αντί να επανεμφανιστεί ως αντίγραφο.
Τα εξωτερικά διαπιστευτήρια και η έγκριση της αγοράς παραμένουν λειτουργικές εξαρτήσεις. \" εφαρμογή μπορεί να προετοιμάσει, επικυρώσει, ουρά, συγχρονισμό και επισκευή του προϊόντος, αλλά δεν μπορεί να εφεύρει μια έγκριση ή να ισχυριστεί δραστηριότητα αγοραστή που δεν έχει συμβεί.
Μια λίστα ελέγχου ηθοποιών έτοιμη για αγοραστή
Ένας ηθοποιός είναι έτοιμος για αναθεώρηση του προϊόντος όταν κάθε απάντηση είναι συγκεκριμένη:
- Είναι η υπόσχεση του προϊόντος στενή και αναζητήσιμη;
- Επιτρέπεται η πηγή και υποστηρίζεται από σταθερό προσαρμογέα;
- Είναι οι δημόσιες εισροές δακτυλογραφημένες, τεκμηριωμένες και οριοθετημένες;
- Η προεπιλεγμένη εκτέλεση παράγει ένα ασφαλές, ντετερμινιστικό, μη φορτισμένο δείγμα;
- Τα δείγματα και οι ζωντανές σειρές ικανοποιούν το ίδιο συμβόλαιο εξόδου προϊόντος;
- Εξαιρούνται από τις χρεώσεις τα κενά αποτελέσματα τίμια και άκυρα;
- Συνδέεται η τιμολόγηση με ένα καθορισμένο, επικυρωμένο γεγονός εξόδου;
- Έχουν ολοκληρωθεί τα δηλωτικά, τα σχέδια, οι γιατροί, τα όρια και η αντιμετώπιση προβλημάτων;
- Έχει η ακριβής προεπιλεγμένη λειτουργία της αγοράς παράγει στοιχεία συνόλου δεδομένων;
- Μπορεί η δημοσίευση να συμβιβάσει και να ενημερώσει μια υπάρχουσα απομακρυσμένη ταυτότητα;
- Διαχωρίζονται τα διαπιστευτήρια του αγοραστή από τα διαπιστευτήρια του εκδότη;
- Είναι διαφορετική η ποιότητα, ο πάροχος και οι αποτυχίες των ιδιοκτητών;
Όταν αυτές οι πύλες περνούν μαζί, ο Ηθοποιός δεν είναι πλέον απλώς runnable. Είναι επιθεωρήσιμο, συσκευασμένο, δημοσιεύσιμο, και διατηρητέο ως προϊόν δεδομένων.








