Paket google.golang.org/appengine/taskqueue (v1.6.8)

Taskqueue paket menyediakan klien untuk layanan taskqueue App Engine. Dengan menggunakan layanan ini, aplikasi dapat melakukan pekerjaan di luar permintaan pengguna.

Sebuah Tugas dapat dibuat secara manual; atau, karena operasi taskqueue yang paling umum adalah menambahkan satu tugas POST, NewPOSTTask mempermudahnya.

t := taskqueue.NewPOSTTask("/worker", url.Values{
    "key": {key},
})
taskqueue.Add(c, t, "") // add t to the default queue

Variabel

ErrTaskAlreadyAdded

var (
	// ErrTaskAlreadyAdded is the error returned by Add and AddMulti when a task has already been added with a particular name.
	ErrTaskAlreadyAdded = errors.New("taskqueue: task has already been added")
)

Functions

func Delete

func Delete(c context.Context, task *Task, queueName string) error

Hapus akan menghapus tugas dari antrean bernama.

func DeleteMulti

func DeleteMulti(c context.Context, tasks []*Task, queueName string) error

DeleteMulti menghapus beberapa tugas dari antrean bernama. Jika tugas yang diberikan tidak dapat dihapus, appengine.MultiError akan ditampilkan. Setiap tugas dihapus secara terpisah; salah satunya mungkin gagal menghapus sementara yang lain berhasil dihapus.

func ModifyLease

func ModifyLease(c context.Context, task *Task, queueName string, leaseTime int) error

ModifyLease mengubah penyewaan tugas. Digunakan untuk meminta lebih banyak waktu pemrosesan, atau untuk meninggalkan pemrosesan. leaseTime dalam detik dan tidak boleh negatif.

func Purge

func Purge(c context.Context, queueName string) error

Purge menghapus semua tugas dari antrean.

QueueStatistics

type QueueStatistics struct {
	Tasks     int       // may be an approximation
	OldestETA time.Time // zero if there are no pending tasks

	Executed1Minute int     // tasks executed in the last minute
	InFlight        int     // tasks executing now
	EnforcedRate    float64 // requests per second
}

QueueStatistics mewakili statistik tentang satu task queue.

func QueueStats

func QueueStats(c context.Context, queueNames []string) ([]QueueStatistics, error)

QueueStats mengambil statistik tentang antrean.

RequestHeaders

type RequestHeaders struct {
	QueueName          string
	TaskName           string
	TaskRetryCount     int64
	TaskExecutionCount int64
	TaskETA            time.Time

	TaskPreviousResponse int
	TaskRetryReason      string
	FailFast             bool
}

RequestHeader adalah header permintaan HTTP khusus yang tersedia untuk mengirim pengendali permintaan HTTP tugas. Header ini ditetapkan secara internal oleh App Engine. Lihat https://cloud.google.com/appengine/docs/standard/go/taskqueue/push/creating-handlers#reading_request_headers untuk mengetahui deskripsi kolom.

func ParseRequestHeaders

func ParseRequestHeaders(h http.Header) *RequestHeaders

ParseRequestHeaders mengurai header permintaan HTTP khusus yang tersedia untuk mengirim pengendali permintaan tugas. Fungsi ini diam-diam mengabaikan nilai dari format yang salah.

RetryOptions

type RetryOptions struct {
	// Number of tries/leases after which the task fails permanently and is deleted.
	// If AgeLimit is also set, both limits must be exceeded for the task to fail permanently.
	RetryLimit int32

	// Maximum time allowed since the task's first try before the task fails permanently and is deleted (only for push tasks).
	// If RetryLimit is also set, both limits must be exceeded for the task to fail permanently.
	AgeLimit time.Duration

	// Minimum time between successive tries (only for push tasks).
	MinBackoff time.Duration

	// Maximum time between successive tries (only for push tasks).
	MaxBackoff time.Duration

	// Maximum number of times to double the interval between successive tries before the intervals increase linearly (only for push tasks).
	MaxDoublings int32

	// If MaxDoublings is zero, set ApplyZeroMaxDoublings to true to override the default non-zero value.
	// Otherwise a zero MaxDoublings is ignored and the default is used.
	ApplyZeroMaxDoublings bool
}

Dengan RetryOptions, Anda dapat mengontrol apakah akan mencoba kembali tugas dan interval backoff di antara upaya percobaan.

Tugas

type Task struct {
	// Path is the worker URL for the task.
	// If unset, it will default to /_ah/queue/

Tugas mewakili tugas yang akan dieksekusi.

func Add

func Add(c context.Context, task *Task, queueName string) (*Task, error)

Add akan menambahkan tugas ke antrean yang telah diberi nama. Nama antrean kosong berarti antrean default akan digunakan. Add akan menampilkan Tugas yang setara dengan default yang terisi, termasuk menyetel kolom Nama tugas ke nama yang dipilih jika tugas aslinya kosong.

func AddMulti

func AddMulti(c context.Context, tasks []*Task, queueName string) ([]*Task, error)

AddMulti menambahkan beberapa tugas ke antrean yang telah diberi nama. Nama antrean kosong berarti antrean default akan digunakan. AddMulti menampilkan sebagian tugas yang setara dengan nilai default yang terisi, termasuk menetapkan kolom Nama setiap tugas ke nama yang dipilih jika tugas aslinya kosong. Jika tugas yang diberikan tidak diformat dengan benar atau tidak dapat ditambahkan, appengine.MultiError akan ditampilkan.

func Lease

func Lease(c context.Context, maxTasks int, queueName string, leaseTime int) ([]*Task, error)

Lease menyewa tugas dari antrean. leaseTime dalam hitungan detik. Jumlah tugas yang diambil maksimal akan berupa maxTasks.

func LeaseByTag

func LeaseByTag(c context.Context, maxTasks int, queueName string, leaseTime int, tag string) ([]*Task, error)

LeaseByTag menyewa tugas dari antrean, yang dikelompokkan menurut tag. Jika tag kosong, maka tugas yang ditampilkan dikelompokkan menurut tag tugas dengan PWT paling awal. leaseTime dalam hitungan detik. Jumlah tugas yang diambil maksimal akan berupa maxTasks.

func NewPOSTTask

func NewPOSTTask(path string, params url.Values) *Task

NewPOSTTask membuat Tugas yang akan di-POST ke jalur dengan data formulir yang ditentukan.